主题:【原创】代码与注解 -- 代码ABC
恼人的注解
大家可能还记得中学语文课本的文言文吧。通常一篇几百字的文章会附带几页的名词解释和语法解释。文言文时代离我们是如此遥远,因此没有课文对当时的社会背景、语言习惯等做出注解,我们是没有办法明白这些晦涩的文字的意义的。然而,这些文字在其当时的文化氛围下,或者在当今的古文学专家面前是不需要注解的。程序注解的情况与此类似。
代码的一个主要作用是指挥计算机完成一个特定的功能,它的另一个作用是程序员间的思路交流。注解是交流的一种辅助手段——只是一种手段、而不是唯一手段。实现交流的手段还有:代码风格、设计文档和面对面的交谈等等。
不少编程教材都强调了注解的使用,其理由是程序代码不容易理解,的确对于大多数人理解别人的代码(有时候自己的代码也一样)比理解文言文难度更大。然而别忘了代码的主要作用,因此花在注解代码的时间应该远小于花在写代码的时间。
你有权保持沉默
代码不是文学作品,程序员不需要向文科学生揭示其算法,因此在写代码和注解的时候必须记住这些东西是给其他程序员看的,至少是给你的程序员同事看的,因此当你的中文系的女朋友要求你解释什么是KMP模式匹配算法的时候,你有权保持沉默。类似的,你不要:
1、注解代码中很清楚的事情,如果你通过仔细的命名规则书写你的代码你会发现注解是画蛇添足;例子:
a) a=0; //a 是当前用户数,现将它初始化为0
b) UserCount=0 //将当前用户数初始化为0
c) dwUserCount=INIT_USER_COUNT
2、上一条的反过程就是:不要注解难懂的代码,相反试图思考代码的表达使代码本身更容易理解,而在注解中保持沉默。
3、不要注解标准算法,这些算法已经在其他文档中描述清楚,合格的程序员应该清楚,不过负责的程序员可以考虑在设计文档中指明该算法的出处,或者引用原文。(注意版权问题)
4、第3条推广,不要注解你自己的设计文档中已经描述清楚的事情。
5、不要注解给自己看,如果你确认你的代码只有你自己使用,而且你在今后的时间里能够记住这些代码的意义,可以集中精力书写代码而忽略注解。
明明白白我的心
作为开发队伍中的一员,你的代码必须交给别人使用或测试,这时候你必须从其他人的角度来思考问题。当你的代码是其他人的工具的时候,你必须保证这个工具是能用、好用而且容易掌握的。这时候你必须通过各种渠道竭力让你的同事、朋友或客户确实了解这些代码的使用方法、思路,代码注解将是一个有力的工具。好的代码加好的注解可以缩短你的技术支持时间、文档编写时间。有时一两行恰到好处的注解可以节省一整页文档的写作。
原则:
1、 公用函数、公用类的声明可以考虑用注解说明其使用方法和设计思路,当然选择恰当的命名和设计能够帮助你把事情解释得更清楚;
2、 全局变量、重要的常数一般必须注解;
3、 注意注解的排版整洁。一致的风格可以减少读者眼球的疲劳,同时节省你支持的时间。
4、 注解也需要维护,如果你修改了代码、注解必须同步修改。不要让注解变成过时的标语。
结束语
软件开发是一项充满创造性的工作,在其主要参与者——程序员的身上本不应该套满规范的枷锁。然而,这也是一个充满陷阱、失败和痛苦的世界。良好的规范并不在于禁止程序员做什么,而是只是程序员的工作指引。我不反对天才无视任何规范写出正确且高效的程序,甚至必要时我还会为使用他的代码而花时间去理解那些晦涩的语句。值得庆幸的是这种人不多。
- 相关回复 上下关系5
🙂【原创】代码与注解
🙂曾经是这样 代码ABC 字190 2008-07-06 22:18:24
🙂哈哈,古人比较适合写程序 铁手 字206 2008-07-06 21:45:10
🙂哈哈,注解写给自己看也是很重要的 晨枫 字217 2008-07-06 08:03:27
🙂Just keep it simple kavin 字40 2008-07-06 02:18:33