什么是整洁的代码(Clean Code)?
什么样的代码才是真正好的、整洁的代码?来看看大牛们怎么说。
Bjarne Stroustrup,C++之父:
我喜欢优雅、高效的代码:
- 逻辑应该是清晰的,bug难以隐藏;
- 依赖最少,易于维护;
- 错误处理完全根据一个明确的策略;
- 性能接近最佳化,避免代码混乱和无原则的优化;
- 整洁的代码只做一件事。
Grady Booch,《面向对象分析与设计》作者:
- 整洁的代码是简单、直接的;
- 整洁的代码,读起来像是一篇写得很好的散文;
- 整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行。
Dave Thomas,OTI公司创始人,Eclipse战略教父:
- 整洁的代码可以被除了原作者之外的其他开发者阅读和改善;
- 具备单元测试和验收测试;
- 有一个有意义的名字;
- 使用一种方式来做一件事情;
- 最少的依赖,并明确定义;
- 提供了一个清晰的、最小的API;
- 应该根据语言特性,在代码中单独显示必要的信息,而不是所有的信息。
Michael Feathers,《修改代码的艺术》作者:
- 整洁的代码看起来总是像很在乎代码质量的人写的;
- 没有明显的需要改善的地方;
- 代码的作者似乎考虑到了所有的事情。
Ward Cunningham,Wiki和Fit创始人,极限编程联合创始人,Smalltalk和面向对象的思想领袖:
- 当你读代码时,你发现每个程序都如你期待的那样
- 你可以称之为漂亮的代码
- 代码完美展现了该编程语言的设计目的
总之,整洁的代码的特点:
- 容易与其他人协作(简单、意图明确、良好的抽象、不出意料、合适的名称)
- 针对现实世界,比如,有一个清晰的错误处理策略
- 代码作者显然很关心软件和其他开发者(针对双方的可读性和可维护性)
- 最小化(做一件事,最小的依赖)
- 以最合适的方式解决问题