不要为了代码整洁,而放弃写出好代码

红薯
 红薯
发布于 2011年08月10日
收藏 14

本文是从 Clean Code Versus Great Code 这篇文章翻译而来。


最 近我和一些程序员就编程问题进行了一次有趣的讨论。我通常会有这样的印象,感觉一些程序员过于强调代码的整洁。不要误会,我也很注重代码的整洁,在过去几 年来也写过不少强调代码整洁的重要性的文章。但当我编程时,代码整洁只是我的第二重要目标,它永远不会取代我的首要目标:让软件先跑起来。让它能跑的很漂 亮,这是我更大的愿望。

当谈论起代码整洁时,很多人都能饶有兴趣的说出很多。他们坚持不懈的追求这个目标,有时他们在编程时还会穿上带有Uncle Bob的绿色的宣传图标衣服,以此提醒自己什么是最重要的:写出整洁的代码。

代码整洁

不幸的是,很多次我都发现,很多人在重视“代码的样子”的同时,却忽略了要把“代码的功能”也放在同等重要的 位置。例如,很多人不愿意去学习ORM实现的背后原理,他们更愿意使用一些像Hibernate实体映射工具的东西把数据映射成实体对象,即使当这样做比 起直接获取数据是效率低的让人惊讶时也是如此。他们并不考虑多次远程调用的代价或大数据量传输的成本。他们一遍一遍的就是写不出一个好的保龄球游戏,因为 他们把数据库的操作放在循环里了

代码整洁并不是构成好程序的必要条件,好程序也并不必定是代码整洁的。对我来说,好程序是运行良好的代码,容易理解,容易修改。这是它们的先后次 序。我知道,大家都非常明白,代码的易于理解、易于安全的修改是非常的重要。但不管代码写的如何清晰易于阅读和修改,如果它没有做它本该做的事情(不能覆 盖所有角落场景),或花费了它本不该使用的长时间执行操作,它就不是好代码。当然,它很整洁,可却没有用处,不是吗?

我不是鼓励你过早的进行优化。除非你有《骇客帝国》里Neo一样的本领,否则你过早的优化的程序里至少有四分之一是不正确的。优化最重要的是找到瓶颈,其它的努力都是浪费。

不管怎么说,你应该写成整洁的代码。但你要三思,不要为了代码整洁,而放弃了写出好代码。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:不要为了代码整洁,而放弃写出好代码
加载中

最新评论(19

I
Irony
求典故出处。。。
灵剑子
灵剑子
这篇文章主要的目的是批判所谓 保龄球计分系统的最佳设计"的原则,模式与实践的,不明白这个典故的出处的人,是不会懂得本文的思想的。
李永波
李永波
我觉得代码整洁跟高效 没有关系 跟ORM也没有关系
用于不用 整洁的代码 都能写出高效的代码
高效的代码也可能不整洁

蛋觉得好扯 啊
棒桑
无论写什么代码,不管写出来的性能如何,代码都应该清晰整洁,这是最基本的。
当然,我们应该要有更高的追求。

苦行瓜
苦行瓜
我喜欢滥用新变量
zavakid
zavakid
整洁代码和好代码并没有冲突。
William_Wang
William_Wang

引用来自“小猪猪”的评论

你这是钻牛角尖!代码整洁是前提,功能实现是必需,好算法更是素养。

经典 …………………………
Andre.Z
Andre.Z
代码要高效,不能为了写起来简单,就随便用了别人封装好的包,要知道别人实现的原理,取其精华,弃其糟粕。
直接用封装好的,写起来确实很快,但是须知,越简单也可能代表越复杂越低效了。
代码简洁和代码高效,本身就是矛盾的,新手会趋向于简洁,而忽视高效,老手会平衡好2者的关系,对于必要性的地方,一定是取高效。
这里有运维部的没?
再见理想
再见理想
宏哥看见这个没
返回顶部
顶部