编写可读代码的艺术读书笔记--审美与注释
2015-01-03 12:42
309 查看
审美
大家都愿意读有美感的代码,通过把代码用一致的、有意义的方式“格式化”,可以使代码变得更容易读,并且读的更快。
如果多个代码块作相似的事情,尝试让他们有相同的剪影。
把代码按“列”对齐可以让代码更容易浏览。
如果在一段代码中提到A、B和C,那么不要在另一段中说B、C和A。
用空行把大块的代码分成逻辑上的“段落”。
该写什么样的注释
为代码中的瑕疵写注释,有几种标记在程序员中很流行:
应该记录下来的想法包括:
对于为什么代码写成这样而不是那样的内在理由“指导性批注”。
代码中的缺陷。
常量背后的故事,为什么是这个值,可能选值的范围及其他可选值。
在文件/类的级别上使用“全局观”注释来解释所有的部分是如何一起工作的。
注释应当精确地描述函数的行为
假设你刚写了一个函数,它统计一个文件中的行数:
上面的注释并不是很精确,因为有很多定义“行”的方式,下面的注释对于这种实现方法更好一些:
用输入、输出例子来说明特别的情况
例如,下面是一个用来移除部分字符串的通用函数:
这条注释不是很精确,但是一个精心挑选的例子就可以回答这些问题
“具名函数参数”的注释
大家都愿意读有美感的代码,通过把代码用一致的、有意义的方式“格式化”,可以使代码变得更容易读,并且读的更快。
如果多个代码块作相似的事情,尝试让他们有相同的剪影。
把代码按“列”对齐可以让代码更容易浏览。
如果在一段代码中提到A、B和C,那么不要在另一段中说B、C和A。
用空行把大块的代码分成逻辑上的“段落”。
该写什么样的注释
为代码中的瑕疵写注释,有几种标记在程序员中很流行:
标记 | 通常的意义 |
FIXME | 已知的无法运行的代码 |
HACK | 对一个问题不得不采用的比较粗糙的解决方案 |
XXX | 危险!这里有重要的问题 |
对于为什么代码写成这样而不是那样的内在理由“指导性批注”。
代码中的缺陷。
常量背后的故事,为什么是这个值,可能选值的范围及其他可选值。
在文件/类的级别上使用“全局观”注释来解释所有的部分是如何一起工作的。
注释应当精确地描述函数的行为
假设你刚写了一个函数,它统计一个文件中的行数:
//Returnthe number of lines in this file. IntCountLines(string filename){…}
上面的注释并不是很精确,因为有很多定义“行”的方式,下面的注释对于这种实现方法更好一些:
//Count how many newlines bytes(‘\n’)are in the file. Int CountLines(String filename){…}
用输入、输出例子来说明特别的情况
例如,下面是一个用来移除部分字符串的通用函数:
//Remove the suffix/prefix of ‘chars’from the input of ‘src’ String Strip (String src,String chars){…}
这条注释不是很精确,但是一个精心挑选的例子就可以回答这些问题
//Example:Strip(“abba/a/ba”,”ab”)return “/a/” String Strip(String src, String chars){…}
“具名函数参数”的注释
void Connect(int timeout, booluse_encrption){…} //Call the function with commentedparameters Connect(/*timeout_ms= */ 10,/*use_encryption = */ false);
相关文章推荐
- 读书笔记-编写可读代码的艺术[上]
- 编写可读代码的艺术读书笔记--简化和重新组织代码
- 读书笔记-编写可读代码的艺术[中]
- 读书笔记-编写可读代码的艺术[上]
- 读书笔记-编写可读代码的艺术[下]
- 读书笔记-编写可读代码的艺术[上]
- 编写可读代码的艺术(三)不要起误解的名字以及代码上的‘审美’
- 读书笔记-编写可读代码的艺术[中]
- 读书笔记-编写可读代码的艺术[下]
- 编写可读代码的艺术(四)注释的“艺术性”
- 读书笔记-编写可读代码的艺术[下]
- 读书笔记-编写可读代码的艺术[上]
- 编写可读代码的艺术----读书笔记
- 读书笔记-编写可读代码的艺术[中]
- 编写可读代码的艺术读书笔记--把信息装到名字里
- 读书笔记-编写可读代码的艺术[下]
- 读书笔记-编写可读代码的艺术[中]
- 编写可读代码的艺术
- 《编写可读性代码的艺术》读书笔记 第四部分 精选话题
- 编写可读代码的艺术 读后感(二)