查看原文
其他

为什么我不赞成在代码中写注释:谈写注释的几种境界

2017-04-07 Nana 译 高可用架构


代码中的注释是有价值的,通常也是必须的,但没有注释更好。本文会解释其原因。


我的目标是,当我阅读我编写代码时,应该完全清楚它的作用。名称,结构,代码背后的意图 - 都需要尽可能的清晰和明显。


我常常希望通过注释来增加更多的细节以及待改进的描述,我担心将来看代码时候会面临看不懂的困惑,所以注释主要是来帮助将来的我来理解代码。当我怀疑代码不完全清晰时,我会立即添加注释。


换句话说,希望写注释,经常表示代码有更好的改进空间。在某些方面,这实际上是一种警告标志。


这不是说注释是坏的。但是如果代码已经很清楚表达意思,注释就不需要了,这样当然就会更好。而且我们还常常发现注释甚至不符合代码。



注释的 4 种境界


1、最差

-------

复杂,隐晦的代码,没有任何注释


2、更好

-------

复杂,隐晦的代码与注释

(大多数现实世界的程序员住在这里)


3、比更好还更好

-------

简单,清晰的代码连同注释。


4、最好

-----

代码如此丰富,注释完全不必要


补充:

(ArchNotes小编:估计作者写完此观点后在网上被喷了,又补充了一些永远正确的观点)


为了澄清我的观点,大家还是应该使用注释,因为我们大多数人属于前三个类别,第四个境界是追求。


  1. 当代码的意图不明显时使用注释。

  2. 如果执行得到的结果不明显,请使用注释。

  3. 当调用方法的上下文不明显时使用注释。


注释它不是短小的肮脏的一行文字,上面这样的情况,需要一个描述恰当的段落来描述。


但是,我们的目标应该是改变我们的编程风格,以尽量减少这种需求。代码应尽可能地表明意图。代码应该是清晰透明的。如果您可以选择改进代码的清晰度,而不是使用一个澄清的注释对其进行修改,那么请先优化代码。


参考链接:


  1. 英文版:https://www.quora.com/Are-comments-in-code-a-good-or-bad-thing

  2. 图1来源:http://www.sisodia.in/2012/01/real-programmers-don-comment-their-code.html

  3. 图2来源:http://www.peopleandbits.info/


推荐阅读



本文最早出现在 Quora, 作者 Glyn Williams, 由 nana 翻译,转载请注明出处,技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。


高可用架构

改变互联网的构建方式


长按二维码 关注「高可用架构」公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存