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