文章转载自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤为适合初学者或刚入职场前几年程序猿的微信公众号。程序员
你代码写的真烂,我会很生气算法
刚入职场的前几年,一直从事系统维护的工做,见过太多人的代码,有时候感受写的很好,有时感受写的太烂,对于太烂的代码往往都有一种删除重来的感受。
编程
别人一旦说个人代码太烂,我会很生气,感受本身写的是世界上最好的代码,哈哈,也只能怪本身太年轻。设计模式
你代码写的真烂,我会微微一笑微信
当刚开始编程时,看到过一段程序,我认为那是毋庸置疑的写的很烂的,而后删掉了那段代码,用本身认为更好的方式从新写了一遍。当我变成的成熟后,回头再看,发现我所删掉的那段代码实际上是用了一个很好的设计模式,而我重写的确是丑陋无比。ide
我就这样被上了一课。spa
以后的日子里,我常常会遇到我认为是丑的不能再丑的代码。尽管如此,我也不通篇否认它们了,我只会在其中找一些特别的没法容忍的部分从新编写。可10次中有9次,当我快要完成时,我发现了一个问题使我不得不对本身说“哦,怪不得他们要写成这样了”,而后把代码恢复成原样,或也使用一样“丑的不能再丑”方式完成它。设计
如今我变的更成熟了,我能够充满自信的告诉你,我不再会看着别人编的代码说“哦,这代码很烂”了。我知道,在没有了解整个程序的解决方案以前,你不可能就那么轻易的判断代码的好和坏。真的,有时候它看起来很傻,或完成的很差,或没有文档标注(个人意思是自我注释),然而,你根本就不可能知道程序员在写这段代码时脑壳里是怎么思考的。更多的状况是,他们要选择这样作是有必定的理由的,除非去深刻的研究它们,你不可能再有其余简单快速的方法来理解程序的上下文环境。orm
因此,每当听到有人看着别人的代码说很烂时,我只会微微一笑,让我想起我当年的天真和盲目自信。的确,我之前坚信本身是个出色的开发人员,坚信知道每种算法的最优设计。我很想念当时的自大,可是我很高兴如今学到的这些理念,我知道,我惟一能鄙视的代码只能是我本身的代码,鄙视的缘由就是我不能使它变的更好。图片
什么是好的代码?如何写出好的代码?
在一本关于如何写出高质量代码的书面前,我再多的描述也是苍白的,下面直接介绍这本叫作「代码大全」的书。
代码大全(第二版),是著名IT畅销书做者Steve McConnell 11年前的经典著做的全新演绎:第二版不是初版的简单修订增补,而是彻底进行了重写;增长了不少与时俱进的内容。
这也是一本完整的软件构建手册,涵盖了软件构建过程当中的全部细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。
本书中所论述的技术不只填补 了初级与高级编程技术之间的空白,并且也为程序员们提供了一个有关编程技巧的信息来源。本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。能够说,不管你是什么背景,阅读本书都会让你在更短的时间内、更容易地写出更好的程序。