英文原文:Code, Engineer it
迭代是代码最终能成功发布的关键。因为没有人第一次写程序就能搞定,任何人都不行。如果有人说他是例外,那么——我敢说他在撒谎。我们可以从错误中学习和进步。我从来不会在第一次尝试的时候就去优化代码。第一次尝试是迭代的原型,通过一次次迭代最终出来一个完美的产品。
三思而后行
如果有人使用的不是工程学术语来定义他们编写代码的过程,我的脑子里会自动脑补出一幅他们在拼命将一个球体塞入三角形的洞里的情景。编程对我而言是一种爱好。我沉迷于我的爱好,并且还能拿薪水,所以我一直以来都竭尽全力并且以此为荣。所以请原谅我当别人描述他们是如何写代码或者写代码的过程中他们的行为时,我心不在焉神游四海。
代码不是艺术,而是达到目的的一种手段
我是从软件工程师转型为软件顾问的,我的想法是,写代码更要设计代码。我将设计的特征描述为以下几点:
我现在在一家咨询公司工作,作为一个设计顾问,我同时见识了两个不同的世界,即好代码的世界和差代码的世界。好的代码总是精心设计。而差的代码则不是——慢、过于注重细节、定制、低效、耗时、成本高、放纵以及利己主义。
代码审查简直就像是强奸,因为这一段时间里我不得不一直面对差的代码。暴力破解、运用错误的数据结构、深层嵌套的函数调用、巢状控制叙述、未优化的迭代循环、源于非线程的低效……等等等等,不一而足,看着这种种缺陷,真比杀了我还痛苦。不过话说回来,我已经帮助很多程序员克服这些困难,让他们收获良多。
如果你觉得自己的代码质量上面还是可以的,想赞一下的话,可以说说它多个方面的优点:说说它的可扩展性,聊聊它的性能,谈谈它的架构。
对于应用程序是如何构建的,其实客户并不在意。他们也不关心,这个程序是否是由专业人士尽了最大的努力精心打造的。客户真正在乎的是,他们的程序会不会每隔几个星期就出出故障,以及维护费用是否是个天文数字,是不是他们所不能承受的。
设计,简单而言,就是艺术或者是成为标准的一种方式。而这种标准的建立基础是:易于构建和维护、低成本以及高质量。
译文链接:http://news.html5tricks.com/code-engineer-it.html
翻译作者:IT 新闻 – 蒋丽丽