现在的位置: 首页 > 综合 > 正文

废话少说

2013年09月12日 ⁄ 综合 ⁄ 共 691字 ⁄ 字号 评论关闭

这是亲眼所见的一小段代码,读后感只有四个字:废话少说

// 在一个数组中,找到最大值并返回
int maxStudent(int student[], size_t arraySize) {
// 将最大值初始化为 -1
int maxValue = -1;

// 遍历整个数组,查找最大值
for (size_t i=0; i<arraySize; ++i) {
// 如果数组中的当前项大于最大值
if (student[i] > maxValue) {
// 则记录新的最大值
maxValue = student[i];
}
}

//返回数组中的最大值
return maxValue;
}

完全无法忍受这样的注释,它除了啰嗦地将代码又重复了一遍、增加了阅读者的的阅读量,并没有起到任何有益的作用。这段代码平身是无懈可击的,但冗长而无用的注释完全破坏了这一切,如果把所用的注释都去掉(除了表达函数功能的那一句),可读性反而大大提高:

//返回student数组中最大的值
int maxStudent(int student[], size_t arraySize) {
int maxValue = -1;
for (size_t i=0; i<arraySize; ++i) {
if (student[i] > maxValue) {
maxValue = student[i];
}
}
return maxValue;
}

现在剩下的惟一遗憾是,maxStudent这个函数名不够清楚,我们无从知道“值”是指学生成绩,还是指学生学号,或者学生的身高体重,如果这个函数名取得更好,能够直接说明问题,那么连函数功能那句注释都可以去掉。


原则

  • 好的代码是自注释的。
  • 注释应该说明要解决的问题,而不是说明解决问题的方法

抱歉!评论已关闭.