|
锁定老贴子 主题:重构与注释讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-08-10
引言:
最近看了《重构》《重构与模式》这2本书,书里反复强调了一个观点:“重构好的代码不要注释,如果你要加注释,就说明这部分代码需要重构” 于是在一次模块开发时,我尽量按照书里的思想去重构并且尽量不写注释,但是结果却不是我期望的。看我代码的人批评我注释没有,难以看懂......并且在会议上组长也批评了我。我那时感觉非常委屈,也没啥好辩解的,要不是看了这本书我也不会为了重构而不去写注释,但我冷静思考了一下,有以下原因: 1.我的重构可能不够好 2.我的英语水平和阅读我代码人的英语水平也许都不咋样。 3.这是在中国不是外国 4.程序员水平差距大,看我代码的人,不理解重构和模式 也许这些原因导致了这次事件,我也要反思一下,是否以后仍然要写注释,重构还是要的,注释也需要,毕竟我不想再被批评了 也请有想法的朋友也讨论一下这个话题! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
类注释必须有,要适当,为了生成文档,
其它的注释可以通过增强代码可读性来消除, |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
一般来讲,注释是针对接口或者类层次的,重构是模块内部不涉及到接口的,不矛盾啊
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
当然了,类注释和方法注释我还是有的。
举个例子,一个方法里,比如有50行代码,我公司要求大家分析50行,然后每几行加个注释。 我的做法就是把注释去掉,方法提炼。但看我代码的人却感觉难以理解。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
注释还是很有必要的
不然几年以后,别人维护这个项目怎么办? 尽信书,不如无书 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
jorwen_fang 写道 当然了,类注释和方法注释我还是有的。
举个例子,一个方法里,比如有50行代码,我公司要求大家分析50行,然后每几行加个注释。 我的做法就是把注释去掉,方法提炼。但看我代码的人却感觉难以理解。 extract metdod最关键的就取名了,这个就要看英语了。而且我认为你做的并没有错,阅读代码的为什么读不懂?到底是方法名取的不够清晰呢,还是重构错了,沟通下吧。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
很久很久以前JavaEye有过相关的讨论:
http://www.javaeye.com/topic/6294 http://www.javaeye.com/topic/6422 引用 重构好的代码不要注释,如果你要加注释,就说明这部分代码需要重构 偶不认为这些书上会有这样的话,请给出准确的原文。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
Readonly 写道 很久很久以前JavaEye有过相关的讨论:
http://www.javaeye.com/topic/6294 http://www.javaeye.com/topic/6422 引用 重构好的代码不要注释,如果你要加注释,就说明这部分代码需要重构 偶不认为这些书上会有这样的话,请给出准确的原文。 我的桌上正好摆着《重构》,我引用一下: 如何确定该提炼哪一段代码呢?一个很好的技巧是:寻找注释。它们通常是指出[代码用途和实现手法间的语义距离]的信号。如果代码前方有一行注释,就是在提醒你:可以将这段代码替换成一个函数,而且可以在注释的基础上给这个函数命名。就算只有一行代码,如果它需要以注释来说明,那也值的将它提炼到独立的函数去。——《重构》中文版77页 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
也许公司里的人习惯了看注释来理解代码,不习惯看代码理解含义。因此对于我没有注释感觉不爽
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-10
而且有的时候确实因为英语水平差距,有些单词不是每个人都懂,或者有歧义的英语等等。所以在国内开发,中文注释还是少不了的
|
|
| 返回顶楼 | |










