“代码没报错”只能是程序员的初级追求


回想刚刚参加工作的时候,受限于个人的经验与天赋,绞尽脑汁的写出只是可以正确工作的代码已然是一件不易的事情,虽然如此,每当完成任务后,内心仍 然一直念念地要去把它写的更好,即使那时候还没有明白重构究竟是怎么一回事,就是凭着一股子热情一遍遍的重写,从变量名,从语句顺序,从结构安排,从括号 与每一行代码的缩进,精益求精,每当看到差的代码,总想去把它写的更好。

随着经验与教训的增多,自己写的第一版代码的质量也逐渐提高,对于各种细节的考虑也愈加周到。然而,不知道从什么时候开始,却心安理得地接受了这样一种观点,

能够工作的代码就是好代码

再 也不会费尽心思的对能够工作的代码进行重构,同时,有无数的前辈和同事以及自己找了各种理由来赞成这种观点,从软件工程理论,从开发进度限制,从人员水平 高低,不一而足。慢慢地大家看到低质量的代码,第一反应是去为这段烂代码找各种借口,我们容忍越来越多的低质量代码,更可怕的是我们容忍它在逐渐侵蚀对于 什么是好代码的判断力。

这是有害的,至少程序员来说。写代码就是我们的手艺,这不过是我们在手艺慢慢成熟的同时,内心正在失去热爱,失去 追 求卓越的动力所找的借口。这一现象在各行各业是相当普遍的,从中等水平到优秀,从优秀到卓越,每一步都要比刚开始的时候付出多的多的努力,然而效果却并不 来的那么明显,至少从行外人的视角看来。因为艰苦,所以每个人都容易原谅自己在这条路上的徘徊止步,何况对于程序员的行业来说,这是个相当不错的理由—— 毕竟代码在正常的工作,不是吗?然而对于其他专业行业来说——医生,律师,会计师,飞行员……——分毫的差距,便是生存与淘汰。

回想当初 入 行时,当别人问“程序员的工作有什么好的时候?”,我们自豪的回答,“与机器对话要简单的多……我喜欢这种掌控的感觉……代码从不说谎”。写代码,我们是 专业的。我们看到优秀的代码,两眼放光,我们为自己写出的优秀代码鼓掌,我们赞赏自己的技艺。然而,日复一日,年复一年,如今我们如何成为了许多人口中的 熟练工,我们为何不再精益求精地打磨自己的技艺,不再追求优秀。突然间,许多同仁们恐慌,焦虑,到处充斥着“程序员到了35岁该何去何从?”,“程序员到 了40岁还继续写代码是不是一种悲哀?”,“35岁老程序员被裁该何去何从?”的话题——可怕吗?在我们心智应该在人生顶峰的时候,我们甚至失去了凭着这 手本事安身立命的信心,这在许多其他专业行业是罕见的现象,你可能想象不到这也许是从多年以前我们接受那个看似无害的观点——能够工作的代码就是好代码 ——开始的。

[ad w=300 f=left]我想到Linus在Ted访谈时,提到好的代码的时候那种热情与兴奋,这段代码是最普通的一段C代码,完成最普通的功能,甚 至 我们每一个人都写过很多遍——移除链表的一个节点。版本一是合格的,但希望对于版本二你能闻到卓越代码的味道,那么我们至少还能分辨在这个行当里,什么是 优秀,我们距离优秀还有多远。知道了不足,我们便可以奋起追赶,去重拾攀登卓越的信心。

加载余下内容▼

相关文章:

;