实践中的复建23_详尽的注释未必是好注释
实践中的重构23_详尽的注释未必是好注释注释一直是软件开发中的一个老大难问题。代码中一个注释都没有是一
实践中的重构23_详尽的注释未必是好注释
注释一直是软件开发中的一个老大难问题。
代码中一个注释都没有是一种常见情况,给后来的开发维护带来巨大的成本。
代码中注释零零散散也是一种常见情况,这个依赖于程序员,有的程序员自觉的写上注释,有的觉得无所谓,干脆不写,有的在该写的地方写,不该写的地方省略,有的在不该写的地方写,该写的地方留白让后人抓狂。
系统大了,代码多了,公司一般都会出台一些强制性的代码规范,规范中自然少不了注释规范。于是,程序员为了满足代码注释规范,辛辛苦苦的添加了满屏的注释。
而实际上这种出发点是为了满足规范的注释是少有人看,也少有被看的价值。大家的关注点是在有没有注释上,而不是在注释的质量上。因为该注释被加上去的原因是规范需要,而不是代码或者程序员需要。这样的注释自然就少有人去精心维护。越是少有人去维护,注释和代码就越脱节,于是注释的价值随着时间的推移就更小了,一个恶性循环就这样华丽的诞生了。
有的注释为了满足规范写的很详尽,以为这样的注释就是好的注释。殊不知注释和代码一样,也是有质量的,也一样有可能散发一些不好的味道。
且看下面一个类的方法注释。
/*** xxx的set方法*//*** xxx的get方法*/
13 楼 chan.d 2011-03-22 其实注释是写给别人看,也是写给自己看。 14 楼 Bruce.Sun 2011-03-22 关于注释我看了许多,我发现一个奇怪的问题,许多人写注释喜欢写what,但是不喜欢写why,很简单的一个列子,给一个变量赋值
a = 0,我看到过很多人的注释是“ //令a的值变为0”
但是对于我们程序员而言,很多时候这种注释对我们没什么帮助,我们更希望知道为什么要使a=0,对此修改会造成何种影响等等,至于a=0这句描述的是什么意思,我相信任何一个智商正常的人都看的明白的,也就是说这句注释是个累赘,拙见 哈哈 15 楼 yangguo 2011-03-22 少写注释,多写自解释的代码。
16 楼 月落码农 2011-03-22 我的观点从来都是代码自注释,比如方法名,参数名,一个方法他自己应该告诉别人我是做什么的,而不是写上一段注释告诉别人我是做什么的。而且如果注释没有维护好,反而会误导别人,本来一开始你想放方法A做A,但是后来你把方法A改成去做其他了,注释没有相应的维护好,那么后面人就被你忽悠了。 17 楼 mercyblitz 2011-03-22 月落码农 写道我的观点从来都是代码自注释,比如方法名,参数名,一个方法他自己应该告诉别人我是做什么的,而不是写上一段注释告诉别人我是做什么的。而且如果注释没有维护好,反而会误导别人,本来一开始你想放方法A做A,但是后来你把方法A改成去做其他了,注释没有相应的维护好,那么后面人就被你忽悠了。
对于简单的代码可以这么做,不过复杂的操作还是必须介绍一下! 18 楼 mtnt2008 2011-03-22 Bruce.Sun 写道关于注释我看了许多,我发现一个奇怪的问题,许多人写注释喜欢写what,但是不喜欢写why,很简单的一个列子,给一个变量赋值
a = 0,我看到过很多人的注释是“ //令a的值变为0”
但是对于我们程序员而言,很多时候这种注释对我们没什么帮助,我们更希望知道为什么要使a=0,对此修改会造成何种影响等等,至于a=0这句描述的是什么意思,我相信任何一个智商正常的人都看的明白的,也就是说这句注释是个累赘,拙见 哈哈
+1
多写为什么的注释代码
19 楼 c.zhiwu 2011-03-23 这是代码和文档的同步问题,well design 的代码远比详尽的注释好