编程和写作
个人认为编程和写作其实是一件很相识的工作,都是用作去表达或者说是实现某一件任务。一篇好的文章总是基于一种好的写作风格下,代码也同样如此。
如果一篇文章没有基于好的写作风格下,则会给读者带来阅读的压力。编程也同样如此,如果每一个人都带着自己各自的风格去维护一个系统,那下场会怎么样呢?
在写作的领域上,有专家专门为了改善这种情况,专门为其总结了写作的风格指南。而在编程领域里,也有人去总结一些良好的编程风格,从而总结成一种通用的编程风格指南。
什么是编程风格
其实写作风格并不是为了去强化作家的写作能力,而是把读者从他们心目中的文本焦油种解救出来。
好的编程风格服务的读者有两类:开发者人员和处理器。代码应该写得很好,不仅是语法上还有技术上。
我始终认为代码是写个人看的而不是写给机器看的。或许带有良好编程风格的代码和没有的同样运行没有问题。但是如果另外一个开发者进入你的团队开始与你完成同一个项目,你的代码可能就会给那些开发者带来阅读和理解上巨大的压力。
下面是我认为在有编程风格的应用必不可少的品质:
一致性
通过反复在代码库中应用这些规则,可以确保代码上的一致性。一致性减少源代码的噪音,能让编码人员更清晰地专注于代码所表达地意图上。
表达能力
代码本质上是一种符号语言,其中可变性和抽象性是隐含的。因此,开发人员必须找到一种方法,使代码有意义并且和读者相关。
简洁
力争做到这样就够了。好的编程就像好的写作一样,是对目的的明确表示,而不仅仅是紧凑。它应该是减少一个函数的复杂度,而不是减少它的可用性。
慎重使用注释
注释应当谨慎使用;过度的注释实际上向编写写说明代码表达的意义不够清晰。注释应该始终表述一个完整的思想。多行注释应始终使用多行注释语法,因为单行注释语法会被认为是一个独立的项,而不是从上一行延续下来。
有关简写
许多开发者在编写分支结构或顺序结构的代码下,往往会出现一些简写的情况:
// bad
if (true)
do()
// good
if (true) {
do()
}
前面我讲了,代码应该是写给人看的,不要为了使用简写而加重了阅读和理解的负担。
如果对代码的体积有要求,那简化代码也应当用工具去处理,而不是在编写的情况下考虑。拿 JavaScript 举例,这些工具可以帮助你:
如何应用编程风格
不管你使用什么语言,各自都会有相对流行对编程风格,拿 JavaScript 举例:
为了实施编程风格,我们需要一些工具去检查代码是否符合风格。在 Google 上面搜索就会有很多对结果,这里就不举例子了。
本人建议对你常使用对编辑器或 IDE 进行配置,着能够在你编写代码时提醒你,减少麻烦。如果你使用 Git,在提交代码使用,也可以用专门的检查工具,在记录版本的适合再一次进行检查,不通过就无法纪录。
参考资料
《JavaScript 专家编程》-第 9 章 代码质量
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。