概述
欢迎阅读本栏目的读者,如果你想成为更加优秀的coder,请跟随笔者的观点去解析《代码整洁之道》这本书,相信你会收获颇丰。
软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。
本书提出一种观念:代码质量与其整洁度成正比。
干净的代码,既在质量上较为可靠也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量
我们都曾经瞟一眼自己亲手写下的混乱代码,决定弃之不顾,走向新一天。
我们都曾经看到自己的烂程序居然能运行,然后断言能运行的烂程序总比什么都没有强。
我们都曾经说过有朝一日再回头清理。
当然,在那些日子里,我们都没听过勒布朗(LeBlanc)法则:稍后等于永不(Later equals never).
什么是整洁代码?
出自《c++程序设计语言》作者说到:
我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战
略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做妤一件事
读这种代码,就像见到手工精美的音乐盒或者设计精良的汽车一般,让你会心一笑。
代码应该讲述事实,不引人猜测。它只包含必必需之物。读者应当感受到我们的果断绝色决绝。
OTI公司创始人,Eclipse 战略教父,Dave Thomas说到:
整洁的代码应可由作者之外的开发者阅读和增补。它应
通过所有单元测试和验收测试。它使用有意义的命名。它只提供一种非多种做一件事的途径。它只有尽量少的依赖关系、明确地定义和提供清晰、尽量少的AP,代码应通过其字面表达含义,因为不同的语言导致并非所有必需信息均可通过代码自身清晰表达。
一言以蔽之:在意。这就是这本书的题旨所在。或许该加个副标题:如何在意代码
简单代码规则:
- 能通过所有测试
- 没有重复代码
- 体现系统中的全部设计理念
- 包括尽量少的实体,比如类、方法、函数等
开始走向整洁代码
本栏目的后续将详细分点讲述如何写整洁的代码。
这里用前人概述:
不要重复代码,只做一件事,表达力,小规模抽象。
看起来很简单的几个点确包含了太多的编码细节。
其实你会发现平时写代码的过程中,不管是别人的项目还是自己的项目,我们总是“读”的时间更多,“写”的时间反而很少,统计比例甚至超过10:1 。写新代码时,我们一直在读旧代码
既然比例如此之高,我们就想让读的过程变得轻松,即便那会使得编写过程更难。没可能光写不读,所以使之易读实际也使之易写。
这事概无例外。不读周边代码的话就没法写代码。编写代码的难度,取决于读周边代码的难度。要想干得快,要想早点做完,要想轻松写代码,先让代码易读吧!