《代码大全》解读(六)
来源:互联网 发布:小米怎么优化 编辑:程序博客网 时间:2024/05/10 18:50
《代码大全》解读(六)
今天花了点时间,又看了两章,第十八章——《文档》,第十九章——《注释》。本来以为会是轻松地看看,边看边觉得自已以前写的很多代码真是有些垃圾,真的有很多bad smell。这两章其实可以说是一个核心问题,如何写好注释,需不需要写注释我想不需要过多讨论,但如何写好注释于我们却是一个问题。
作者提出了几点,我归纳了一下:
1、 不写无用的注释
比如 if(var==0) // 如果变量等于零
这个就是一个无用的,因为它没有体现比代码本身更多的信息。更好的应该是:
if(var == 0) // 如果没有读到数据
注释是需要体现具体的业务规则
2、 利用前几章所谈到过的PDL(程序流程描述语言),不过我还是这个观点,目前没有一个好工具可以使用。
3、 出现的特例一定要说明。比如你在调用一个函数,出现了特定的异常,一定要说明此异常是什么原因。
4、 特别的常数一定要注释。虽然时下的流行语言手册中一般建议用常量或宏定义,但是最好在该定义后加上一行注释,别人就能够了解你为什么需要使用这个常量。
5、 很有意思的是本书不建议你使用漂亮,但难于维护的注释。很多程序员喜欢在代码前加上一个文本logo,不过需要花点时间来做维护。
6、 算法的描述。对于一个复杂的算法,最好写上一些基本的信息。不要让人从代码里去“反编译”你的算法。
- 《代码大全》解读(六)
- 《代码大全》解读(一)
- 《代码大全》解读(二)
- 《代码大全》解读(三)
- 《代码大全》解读(四)
- 《代码大全》解读(五)
- 《代码大全》解读(七)
- 《代码大全》解读(八)
- 《代码大全》解读(九)
- 《代码大全》解读(十)
- 《代码大全》解读(完)
- 《代码大全》解读(一)
- javascript 常用代码大全(六)
- osmdroid API解读(六)
- Caffe代码解读(六):视觉层(Vision Layers)及参数
- jemalloc源码解读(六)基数树
- AFNetwork 3.0 源码解读(六)AFURLSessionManager
- 解读The Python Tutorial(六)
- Wide-Mouth Frog(大嘴青蛙)协议
- 打开文件夹并且选中指定的文件的通用函数
- 打造免费好用的windows系统
- 什么是“network”?
- 新开张,放个有关TREEVIEW的文章,,,搞了一段时间了。。。郁闷。。
- 《代码大全》解读(六)
- 苏格拉底与失恋者
- 好忙
- 爱我的人和我爱的人
- 学会拒绝
- treeview的一个小进展。。
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
- 解析Community Server仍然无法实现中文检索的原因
- treeview的小进展之2