怎么样才算是整洁的代码?
1
怎么样才算是真正整洁的代码呢?为什么整洁如此重要?
Marry Poppendieck在她精彩的演讲《软件开发中的刻意练习》中,重点讲述了我们这个行业的一些权威人士对于代码整洁性的定义。
Bjarne Stroustrup,C + +的创造者:
我喜欢优雅高效的代码,因为这样的代码逻辑性强,直截了当,bug无所遁形,依赖性低,易于维护,能策略化地处理各种异常情况,性能接近最优,还能避免人们随意和无原则并最终将导致杂乱无章的优化。整洁的代码让上述每一件事都显得井井有条。
Grady Booch,《面向对象分析与设计的经典之作》的作者:
整洁的代码简单直接, 好像优美的散文,娓娓述说着设计师的意图,有一种明快的节奏感。
大Dave Thomas,OTI的创始人、Eclipse战略之父:
整洁的代码易读易懂,其他开发人员也能心领神会,一般会有单元测试和验收测试,变量名也有一定含义,能为我们解决问题提供某种清晰的思路。其相关性也低,这一点是很重要,还有就是API很少。代码应该清晰流畅易懂,但是没用必要所有的信息都一股脑儿全写进去。
Michael Feathers,《修改代码的艺术》一文的作者:
整洁的代码给我们带来的好处数不胜数,而且与旁的一比,总体质量高下立现。整洁的代码就如同一位精心装饰的女子,一眼看去,感觉增一分则艳,删一分则素,恰如其分。几乎所有的事情都考虑到了,甚至即便你想试着改进,也完全无从下手。
Ward Cunningham,Wiki 和Fit的发明者、Extreme Programming的联合创始人、设计模式的中流砥柱、Smalltalk和面向对象的思想领袖。
你知道代码整洁是什么感觉吗?那就是,你读到的每个步骤比你预期所想的还要好。有时候我们甚至可以称之为代码模本,因为它就像专门为解决这个问题而生的。
小结
整洁的代码:
- 明白易懂(直截了当、清晰明了、恰当的抽象层次、不故弄玄虚、变量命名有规则)——要说优点,这一条排第二,就没有第一了。
- 服务于现实世界,有明确的异常处理策略(我有很多项目都是因为这一点而付之一炬,所以,放上这一条,稍稍带了点感情色彩)。
- 可读性和可维护性。
- 流程最简化,依赖性最小化。
- 程序运行良好。
英文原文:What Is Clean Code? – In Quotes
翻译作者:IT新闻 – 蒋丽丽