什么是整洁的代码(Clean Code)?

标签: 程序员 代码 | 发表时间:2012-12-27 11:51 | 作者:
出处:http://blog.jobbole.com

英文原文: What Is Clean Code?,编译: iteye – wangguo

什么样的代码才是真正好的、整洁的代码?来看看大牛们怎么说。

Bjarne Stroustrup,C++之父:

引用

我喜欢优雅、高效的代码:

● 逻辑应该是清晰的,bug难以隐藏;

●依赖最少,易于维护;

●错误处理完全根据一个明确的策略;

●性能接近最佳化,避免代码混乱和无原则的优化;

●整洁的代码只做一件事。

Grady Booch,《面向对象分析与设计》作者:

引用

●整洁的代码是简单、直接的;

●整洁的代码,读起来像是一篇写得很好的散文;

整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行。

Dave Thomas,OTI公司创始人,Eclipse战略教父:

引用

●整洁的代码可以被除了原作者之外的其他开发者阅读和改善;

具备单元测试和验收测试;

●有一个有意义的名字;

●使用一种方式来做一件事情;

●最少的依赖,并明确定义;

●提供了一个清晰的、最小的API;

●应该根据语言特性,在代码中单独显示必要的信息,而不是所有的信息。

Michael Feathers,《 修改代码的艺术》作者:

引用

●整洁的代码看起来总是像很在乎代码质量的人写的;

●没有明显的需要改善的地方;

●代码的作者似乎考虑到了所有的事情。

Ward Cunningham,Wiki和Fit创始人, 极限编程联合创始人,Smalltalk和面向对象的思想领袖:

引用

●当你读代码时,你发现每个程序都如你期待的那样

●你可以称之为漂亮的代码

●代码完美展现了该 编程语言的设计目的

总之, 整洁的代码的特点:

●容易与其他人协作(简单、意图明确、良好的抽象、不出意料、合适的名称)

●针对现实世界,比如,有一个清晰的错误处理策略

●代码作者显然很关心软件和其他开发者(针对双方的可读性和可维护性)

●最小化(做一件事,最小的依赖)

●以最合适的方式解决问题

相关文章

相关 [代码 clean code] 推荐:

什么是整洁的代码(Clean Code)?

- - 博客 - 伯乐在线
英文原文: What Is Clean Code?,编译: iteye – wangguo. 什么样的代码才是真正好的、整洁的代码. Bjarne Stroustrup,C++之父:. ● 逻辑应该是清晰的,bug难以隐藏;. ●错误处理完全根据一个明确的策略;. ●性能接近最佳化,避免代码混乱和无原则的优化;.

Clean-Code: 注释

- We_Get - 博客园-首页原创精华区
别给糟糕的代码加注释-----------------重新写吧. 这是书中的关于注释一章的第一句话,怎么说呢,这句话个人感觉很对,但是实际上却很少这么做,. 糟糕的代码不是自己写的,别人写的代码,还是让别人自己去维护吧,出了问题也是别人的. 糟糕的代码目前可以正常工作,软件开发中有一条古老哲言:如果它能工作就不要动它,很多程序员都遵守这条准则.

代码审查(Code Review)清单

- - 博客 - 伯乐在线
代码审查可以帮助提高代码质量,避免由于代码习惯而造成的 bug. 下面列出的这些要点因该可以作为大部分代码审查的指导,如果是 Java 应用的话,这些建议应该被视作最佳实践. Javadoc 应该在每一个类和方法中添加. 如果是修复某个 bug,应该添加 bug ID. 走捷径的方法或者复杂的逻辑要有解释.

Facebook 如何发布代码 (How Facebook Ships Code 译文)

- Tim - DBA Notes
按:这篇 How Facebook Ships Code 提供了大量的细节信息,之前已经有朋友提供了一个翻译版本,阅读之后发现有些许错误,并且原文有更新,所以基于前面的翻译版本我重新翻译了一个(完整的)版本. 我对 Facebook 的运作方式着迷. 这是个非常独特的环境,很难被复制(这个方式并不适合所有的公司,即使有些公司尝试过这么做).

聊聊Code Review

- - 梦想风暴
hopesfish评论《 那一点的调用》时,问了一个关于Code Review的问题:. 想请教一下,TW的筒子是如何做code reivew或者鼓励客户做code review的. 我在翻阅博主的帖子的时候,似乎对这块没有特别强调,而是更多偏重于TDD,我觉得TDD的问题是一碰到没有责任心的程序猿,就很容易流于形式了.

Java Code Review清单

- - ImportNew
使用可以表达实际意图(Intention-Revealing)的名称. DRY(Don’t Repeat Yourself)原则,(拒绝重复). 用代码来解释自己的做法(译者注:即代码注释). *参考自: http://techbus.safaribooksonline.com/book/software-engineering-and-development/agile-development/9780136083238.

社交网络上的 Riot Clean-up 运动已经展开

- TT Jobs - 爱范儿 · Beats of Bits
在这次骚乱中,英国各媒体对社交网络的看法大相径庭,卫报认为社交网络发挥了积极作用,而太阳报则认为 Twitter 促进了骚乱. 但是在 Twitter 和 Facebook 上展开的 Riot Clean-up 行动则再次证明:社交网络只是一个工具,它可以用于破坏,而且可以用于建设. 套用一句老话:我们是否应该把洗脚水和孩子一起倒掉.

Google 7500 万美元投资太阳能基金 Clean Power Finance

- mike - 谷奥——探寻谷歌的奥秘
Google一直对新能源情有独钟,他们之前也曾以2亿8000万美元投资过可安装在家庭房屋上的太阳能公司SolarCity,今天他们再次投资太阳能事业──太阳能创业基金Clean Power Finance,Clean Power Finance将利用这笔投资推进第三方的屋顶太阳能装置工程. Google说他们喜欢这种商业模式,因为他们的投资可用于让更多美国人安装并使用太阳能,他们希望自己能帮助超过一万户家庭使用太阳能这种清洁能源.

Clean – 桌面清洁工 [Mac] | 小众软件 > Mac

- Chinaxingwei - 小众软件
Clean 做的事情很简单,无非就是每天清空一次桌面,把桌面所有文件扫入以当天日期命名的文件夹. 搞乱桌面不用收拾,拉屎不用自己擦屁股,这不是人类的梦想么. 下载: MAS | 来自小众软件. ©2011 Thruth for 小众软件 | 原文链接 | 1 留言 | 加入我们 | 投稿 | 订阅指南.

我的code review规则

- vento - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
1) 是否有语法错误,编译错误,编译警告. 做法:下载最新代码,将编译警告级别提升到最高,检查output信息. 2)是否符合需求,完成requirement文档要求的内容,不能多,也不能少. 注意:即使发现有问题代码,如果与需求关联不大,不要涉及. 应该让每次enhancement和bug fix最简洁,牵涉范围最小,影响到组件最少.