最近我和一些程序员就编程问题进行了一次有趣的讨论。我通常会有这样的印象,感觉一些程序员过于强调代码的整洁。不要误会,我也很注重代码的整洁,在过去几年来也写过不少强调代码整洁的重要性的文章。但当我编程时,代码整洁只是我的第二重要目标,它永远不会取代我的首要目标:让软件先跑起来。让它能跑的很漂亮,这是我更大的愿望。
当谈论起代码整洁时,很多人都能饶有兴趣的说出很多。他们坚持不懈的追求这个目标,有时他们在编程时还会穿上带有Uncle Bob的绿色的宣传图标衣服,
代码整洁并不是构成好程序的必要条件,好程序也并不必定是代码整洁的。对我来说,好程序是运行良好的代码,容易理解,容易修改。这是它们的先后次序。我知道,大家都非常明白,代码的易于理解、易于安全的修改是非常的重要。但不管代码写的如何清晰易于阅读和修改,如果它没有做它本该做的事情(不能覆盖所有角落场景),或花费了它本不该使用的长时间执行操作,它就不是好代码。当然,它很整洁,可却没有用处,不是吗?
我不是鼓励你过早的进行优化。除非你有《骇客帝国》里Neo一样的本领,否则你过早的优化的程序里至少有四分之一是不正确的。优化最重要的是找到瓶颈,其它的努力都是浪费。
不管怎么说,你应该写成整洁的代码。但你要三思,不要为了代码整洁,而放弃了写出好代码。
基本不同意这样的观点!没有整洁的代码来阅读,看不下去,一看就知道是个初学人写的.更别提维护修改.算法程序再好如果写得乱七八糟也没用,一眼撇过去就不看了.
怎么整洁的代码不是指易于理解,修改的代码吗?
孤陋寡闻.Uncle Bob有什么典故.
应该就是一个人名,没什么典故
Uncle Bob is the author of book “Clean Code”.
http://en.wikipedia.org/wiki/Robert_Cecil_Martin
Uncle Bob is author of book “Clean Code”.
http://en.wikipedia.org/wiki/Robert_Cecil_Martin
程序的最终目的是实用,而组成程序的代码也是为了实用而产生的。如果为了代码的整洁而放弃它的实用性,那这样的代码即使再整洁也是一堆废物。
看到过这篇垃圾文章。感觉翻译为中文以后很多原文的观点已经弱化了。简单的说,这篇文章就是垃圾,如果不是毒药的话,特别是对于初学者,这将是他们避免clean的借口。另外,great代码的必要条件的确是clean的。不clean的代码也许可以称为“好”(如果你的标准很低的话),但是跟great是没有关系的。(great是原文中常用的词)
我不觉得clean是great代码的必要条件。只有需要经常维护,持续修改增加新功能的代码才是需要clean的(当然,绝大部分程序是这样的)但很多几十年前的程序经受了时间的考验还在持续运转,这样的代码一定是great的,也可能是clean的,但不一定是那么clean的。
同意作者的观点。我首先会尽快做出一个原型,解决会遇到的关键问题,不同的迭代周期确定优先的重点,通过不断优化代码,代码会慢慢变得干净!
为什么不可以同时“整洁”和“好”呢
这文章纯粹是博取浏览量用的。不实在。良好运行的优先级在代码整洁的优先级之前,作者很搞笑。