阅读《编写可读代码的艺术》笔记
第一部分
第一章
-
可读性基本定理:代码的写法应当使别人理解它做需要的时间最小化;
-
即使代码需要高度优化,还是有办法可以让代码可读性更高。可读性好,会让你的架构变好且便于测试。
-
把可读性放在其他目标前面。
-
表面层次的改进:选择好的名字,写好的注释以及把代码整洁地写成更好的格式。
第二章 把信息装到名字里
1】选择专业的词,选择专业的词,避免空洞
比如:get 就不专业,但是 getPage 就不错,更好比如 fetchPage 或者 downPage。
2】避免泛泛的名字
像 tmp 和 retavl, 除非使用它们有特殊的理由。
tmp 这个名字只应用于短期存在且临时性为其主要存在因素的变量
3】用具体的名字代替抽象的名字
ServerCanStart 这个名字就比 CanListenOnPort更不清楚
4】使用前缀或者后缀来给名字附带更多的信息
如果你的变量是一个度量的话,那么最好把名字带上它的单位(start_ms) ,需要转义的,未处理的变量前加上raw_.
5】决定名字的长度
在小的作用域使用短的名字,这时有上下文
6】利用名字的格式来表达含义
有目的的使用大小写、下划线等。
第三章 不会误解的名字
关键思想:要多问自己几遍:“这个名字会被别人解读成其他的含义吗,要仔细审读这个名字”。
第四章 审美
第五章 该写什么样的注释
第六章 写出言简意赅的注释
第二部分 简化循环和逻辑
第一部分主要讲的是表面层次的改进,那是一些改进代码可读性的简单方法,一次一行。
第二部分将进一步深入讨论程序的“循环和逻辑”:控制流、逻辑表达式以及让你的代码正常运行的那些变量。
第七章 把控制流变得易读
关键思想:把条件、循环以及其他控制流的改变做得月自然越好。运用一种方法使读者不用停下来重读你的代码。
第八章 拆分超长的表达式
关键思想:把你的超长表达式拆分成更容易理解的小块。
要小心“智能” 的小代码段——它们往往在以后会让别人读起来感到困惑。
第九章 变量和可读性
第三部分 重新组织代码
第十章 抽取不相关的子问题
第十一章 一次只做一件事
关键思想:应该把代码组织得一次只做一件事
第十三章 少写代码
第四部分 精选话题
第十四章 测试与可读性
关键思想:测试应当具有可读性,以便其他程序员可以舒服地改变或者增加测试