打字猴:1.70045333e+09
1700453330 曾经检查过一段极品代码,注释写得非常全面,描述的是汉诺塔算法,从汉诺塔的故事(包括最原始的版本和多个变形版本)到算法分析,最后到算法比较和实际应用,写得那是栩栩如生,而且还不时加入了一些崭新的网络用语,幽默而又不失准确,可以这么说,看完这段注释基本上对汉诺塔的“前世今生”有了深刻的了解,但是我在检查后的改正意见是:把注释修改为“实现汉诺塔算法”即可。注释不是让你讲故事的地方,就这7个字,已经完全可以说明你的代码了!
1700453331
1700453332 我们的代码是给人看的,但不是给什么都不懂的外行看的,相信我们代码的阅读者一定是具有一定编码能力的,不是对代码过敏的“代码白痴”。
1700453333
1700453334 (3)不必要的注释
1700453335
1700453336 有些注释相对于代码来说完全没有必要,算不上是废话,只能说是多余的注解,看下面的例子。
1700453337
1700453338 class Foo{
1700453339
1700453340 //默认值为0
1700453341
1700453342 private int num;
1700453343
1700453344 //取值
1700453345
1700453346 public int getNum(){
1700453347
1700453348 return num;
1700453349
1700453350 }
1700453351
1700453352 //输入int类型变量,无返回值
1700453353
1700453354 public void setNum(int num){
1700453355
1700453356 this.num=num;
1700453357
1700453358 }
1700453359
1700453360 public void doSomething(){
1700453361
1700453362 //自增
1700453363
1700453364 num++;
1700453365
1700453366 }
1700453367
1700453368 }
1700453369
1700453370 以上四个注解是不必注释的典型代表(本书的代码上也有一些类似的注释,只是为了阐明代码片段,不用作生产代码):
1700453371
1700453372 第一个默认值完全没有必要说明,相信代码的阅读者这点智商还是有的,他应该明白实例变量初始值为0,即使加上个初始值也完全没有必要注释,除非有特殊含义。
1700453373
1700453374 第二个注释在get方法上,如此简单的代码,看代码比看注释所花费的时间长不了多少,不要低估了代码阅读者(很可能就是你,代码的编写者)的智商。
1700453375
1700453376 第三个注释描述了输入和输出参数类型,相信IDE吧,相信它会这么“智能化”的提示吧(基本上每个IDE都能实现输入补全和输入输出提示)!不需要我们手工撰写。这些注释难道是为那些用记事本编写代码的狂人准备的?可是在看到输入的int类型,输出的void后,难道他还不能明白吗?—注释完全多余了。
1700453377
1700453378 第四个注释也蔑视了代码阅读者的智商,这是编码的最基本算法,不用注释。
1700453379
[ 上一页 ]  [ :1.70045333e+09 ]  [ 下一页 ]