前言:
我最近在读《代码整洁之道》这本书,在读的过程中发现如果只是读,不动手做点什么的话,总感觉少了点什么,于是就写点总结,给自己加深印象。当然,本文只是理论,不会讨论如何写出整洁代码。如果你认为这相当枯燥,可以略过。
为什么读它?
正如书中所说,读这本书的原因,无非是想成为一个更好的程序员。
一个优秀的程序员,不应该写出糟糕的代码,不应该给他人带来不必要的困扰。如果你维护过别人糟糕的代码,并且被这种代码绊倒过,那你一定能体会,每次添加或修改代码时,花大量时间去理清原有代码时的焦躁心情。试想一下,如果这些代码是你自己写出来的,或者说别人在维护你的代码时,也是如此,你作何感想?避免写出糟糕的代码,提高自身代码水平,减少可能给他人带来的困扰,还要从自己做起。
什么是整洁代码?
以下是书中提到的解答:
c++语言发明者 Bjarne Stroustrup :
我喜欢优雅和高效的代码,代码逻辑应当直接了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来,整洁的代码只做好一件事。
中译版《面向对象分析与设计》作者 Grady Booch :
整洁的代码简单直接,整洁的代码如同优美的散文。整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直接了当的控制语句。
OTI 公司创始人 Dave Thomas :
整洁的代码应可由作者之外的开发者阅读和增补。它应当有单元测试和验收测试。它使用有意义的命名。它只提供一种而非多种做一件事的途径。它只有尽量少的依赖关系,而且要明确地定义和提供清晰、尽量少的 API。代码应通过其字面表达含义,因为不同的语言导致并非所有必需信息均可通过代码自身清晰表达。
中译版《修改代码的艺术》作者 Michael Feathers :
我可以列出我留意到的整洁代码的所有特点,但其中有一条是根本性的,整洁的代码总是看起来像某位特别在意它的人写的。几乎没有改进的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点,赞叹某人留给你的代码:全心投入的某人留下的代码。
中译版《极限编程实施》作者 Ron Jeffries :
近年来,我开始研究贝克的简单代码规则,差不多也琢磨透了。简单代码,依其重要顺序:
1. 能通过所有测试;
2. 没有重复代码;
3. 体现系统中的全部设计理念;
4. 包括尽量少的实体,比如类、方法、函数等。
WiKi 发明者 Ward Cunningharm :
如果每个例程都让你感到深全己意,那就是整洁代码。如果代码让编程语言看起来像是专为解决那个问题而存在,就可以称之为漂亮的代码。
啥成就都没有 Gxy :
整洁的代码,它易于维护,干净利落不拖泥带水。整洁的代码一定是在意代码的人写的,经过精心设计的代码。
结语:
你可能会说,时间紧任务重,能跑就行,先上线再说。一个有素养的程序员不会这样做,而且也没必要这样做。把代码写整洁,并不意味着进度就会变慢,实际情况恰恰相反。至少,我观察到的情况是这样。
-- The End.
技术群:添加小编微信并备注进群
小编微信:mm1552923
公众号:dotNet编程大全