我最早开始重视代码的可读性还是大三在搜狐做Python研发实习生的时候。那会儿我特别嫩,写代码还是学校大作业风格,天天被leader各种批评。现在回忆起来,虽然在搜狐呆的时间特别短,但那段经历能引起我对代码可读性的重视,也算是重量级的收获了。
今天一口气读完了《编写可读性代码的艺术》,感觉非常爽。我一直认为代码的可读性绝对是第一重要的,正如《黑客与画家》所言:"代码写出来是给人看的,附带着能在机器上运行"。
顺手记录了几个重要的原则:
-
可读性基本定理:代码的写法应当使别人理解它所需的时间最小化。
-
把信息装进名字里。
-
清晰和精确比装可爱好。
-
在小的作用域内可以使用短的名字。
-
不会误解的名字是最好的名字。
-
使用一致的布局;让相似的代码看上去相似;把相关的代码行分组,形成代码块。
-
一致的风格比正确的风格更重要。
-
注释的目的是尽量帮助读者了解得和作者一样多。
-
不要为那些从代码本身就能快速推断的事实写注释。
-
注释应该有很高的信息/空间率。
-
把条件、循环以及其他对控制流的改变做得越“自然”越好,使读者不用停下了重读你的代码。
-
默认情况下都用if/else,三目运算符?:只在最简单的情况下使用。
-
当你对代码改动时,从全新的角度审视它,把它作为一个整体来看待。
-
把超长表达式拆分出易于理解的小块。
-
小心“智能”的小代码段,它们往往在以后会让别人读起来很困惑。
-
让变量对尽量少的代码行可见。
-
操作一个变量的地方越多,就越难确定它的当前值。
-
应当把代码组织得一次只做一件事情。
-
最好读的代码就是没有代码。