介绍你一个小知识吧(说是小知识,不过关系重大)
就是如何写注释.以往我一直都比较困惑注释到底要写些什么,经常注释了很多,可是回头看的时候却发现注释一点信息量也没有
一般我们所说的注释都是针对函数(也就是方法),因为函数是模块化设计的最小单元(类还不算最小单元)
一个函数意味着一个功能,所以,函数的注释至少要有两条:
1.这个函数在什么情况下可以得到正确的运行结果,比如开平方的函数,参数不能为负数.
这个叫做'前导条件',建议在方法的开头注明,像这样 :
void xxx() {
//pre : 前导条件
}
不是所有的函数都具有前导,有的函数可以在任何情况下得到正确结果,比如加法之类的.
所以,有时候,前导条件可以省略不写
2.这个函数执行之后会造成什么影响.比如设置对象的某个状态或者返回某一个值.
这个叫做'后置条件',建议在方法的结尾注明,像这样 :
void xxx() {
....
//post : 后置条件
}
所有的函数都具有后置条件.因为一个函数被调用之后肯定会造成影响,否则这个函数就没有存在地意义.
一定要写明每一个函数的后置条件.
3.函数当中假如用到了公式或者定理,要在注释当中用了那条定理或者公式,最好能付上公式或者定理的简要说明.(当然,假如是勾股定理这种简单的,不说也可以)
4.假如某一段代码是顺序不能颠倒的,要注明,像这样:
...;
#隔一行
//处理XXX
//sequence dependent
//1st : xxx
....;
//2nd : xxx
...;
//3rd : xxx
...;
#隔一行
.....
注重了这几点,应该就不会再碰到不知道该注释什么,或者注释中尽是废话(我经常这样) 的问题了.
注重 : 在写代码的时候写的注释才有价值,假如在代码已经写完才来补注释,那么就不要再补了,把要写的写进文档就可以.
注释要求记录程序员写程序时候的思维过程
这里提到的只是我个人的编码习惯,主要是介绍一下写注释需要注重的一些细节.