搜狐首页 科技 小济公

手机搜狐

SOHU.COM

代码质量是优秀程序员的底线,你居然说不重要?

最近dashiOS开源,infoQ推送了一篇翻译:从DashiOS开源说起,不要过于追求完美代码。我读完的心情就是干死他,一本正经的胡说八道。每段都是先提出一个正确的概念,然后就展开表达混入害人的概念,这种写作手法让人不齿。

追求代码质量是一个优秀程序员对自己的要求

许多程序员文化是建立在完美代码的理想上:代码不仅能够运行,而且也必须是干净、优雅的。我们以巧妙地构建解决难题的对策为傲。然而这种完美主义可能不利于团队的成功,因为完美主义常常导致个人分歧。

我想任何一门工艺、手艺,从业者想要把他做的更好,这是一个非常自然的目标。

首先作者的标准非常之低。而且我觉得能运行、干净、优雅就是完美的代码了?这只是优秀还不是完美。完美主义不利于团队成功,难道20个人闭着眼睛瞎写就有利于成功?软件是因为质量差、性能差、维护不到位、功能不稳定容易失败,还是因为软件易维护、迭代快、发布慢了几天容易失败?有团队因为过于追求完美主义失败就是不要追求完美的原因?excuse me?

能得到所有人公认的完美代码标准并不存在。

因为你最后也赚不到全部的钱,你就不要赚了?你是只咸鱼别人也不能有理想?

这个世界很多人不懈的追求,不停的逼自己,追求完美才推动了这个世界变的更美好。你不能因为这件事情最后做不到一百分,就不去做。优秀的人会让自己逼近这极限。这是一个优秀的人对自己的要求。

也许会有限制,有所妥协,我觉得作为一个工程师,你应该要保证自己的代码质量,虽然做不到所谓的“完美”,然而我们应该对自己赖以生存的代码质量有要求,除非你是只没理想的咸鱼。

追求完美不是在商业项目里抠细节

我们追求代码质量,但是不是一定要在写好完美的代码后才能提交。也可以是一边写一边迭代改进。可以是回头恍然大悟的重构。也许我们项目也有时间工期的限制。我们当然要先保证功能的完成,然而这就是优秀工程师和平庸工程师的区别:平庸的工程师只能写出平庸的代码,优秀的工程师会在这些妥协的条件下做到尽量完美的代码。

再一次。代码质量是一个人的不断追求完美代码过程中的能力体现。如果你的目标从来只是能运行,你也写不出好的代码。

能用不是代码的标准,能被维护才是代码的标准

对代码库的唯一要求就是,它是可用的

精选