如何写好代码注释?

注释的本质对于代码注释来说,在不同的教程或者原则中有不同的规定或者解释 。有的原则是需要使用JavaDoc来描写每个方法,而有的原则是要求每一个属性标注命名 。我愿意相信每一份看起来不那么妥当的注释都是出于一些善意的目的,这就是注释的本质:
对未能自行解释的代码做出解释 。
在进行代码工作的时候我们多多少少会有一些陈旧的、与业务无关的逻辑在代码中运行 。有时候并不是一个变量名或者一个方法名就能阐述清楚产品同学所期望的业务内容 。我们希望将代码外的逻辑也加入到其中,但是一篇长篇大论的注释似乎也不那么妥当,所以对于注释我一般会加入一个约束的条件:
尽可能精简地描述当前方法、属性未能解释的逻辑 。
那么这个约束中的关键词是:精简、当前、未能解释 。这是我现在的理解,如果有更好的见解也希望可以联系我进行沟通 。当然这些关键词在后文中也会进行解释 。
代码的退化【如何写好代码注释?】对于代码的退化这个概念在很多的领域之中都有阐述 。而一种比较主流的观点是:应用程序的生产寿命可能为3-5年 。当然这个大限将至无法使用的定义是有很大空间的 。但是这个说法的主要思想是:代码随着业务的迭代开发,会逐渐地降低可维护性,直到它的生命终结 。代码是这样,对应的代码注释也是这样的 。

    推荐阅读