若是你是一个程序员, 除了编码以外,你还须要大量的阅读。今天我要为你们介绍几本值得一读的书,包括《The Pragmatic Programmer》,《The Mythical Man-month: Essays on Software Engineering》和《Clean Code: A Handbook of Agile Software Craftsmanship》。html
书籍是知识和智慧的重要来源。但不幸的是,如今不少人已经不肯意看书了。程序员更是罕见地会去读书,最多见的依靠互联网搜索结果来找寻答案。程序员
技术向前的步伐比人类历史上的任什么时候候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言、工具和方法的缺陷。编程
事实上,许多伟人都已经遇到过差很少的问题,并指出了解决这些问题的最佳途径。而这些方法和解决方案都收录在一些超棒的书籍中。设计模式
下面就是在这个行业中开发人员应该阅读的一系列伟大的书籍。编程语言
绝对是书籍中的瑰宝!这不是常规地建议你编码,编码仍是编码的编程书。事实上,它并不限定于某种特定的编程语言:在这本书中的智慧适用于全部编程语言。工具
这本书对许多有趣的领域都提出了真知灼见,如各类探索性编程,在代码中编码,从模型中分离的观点,昂贵的工具并不产生更好的设计,开发一个伟大的团队,管理预期,避免知识的重复等。单元测试
这本书不只能够帮助改变编码的习惯,还能够改变你做为一个程序员的性格。它充满了关于如何改进本身和代码的实用建议。测试
还有一个总结了提示和检查清单的小册子。优化
很是经典,被奉为软件行业的圣经。第一次出版于1970年,可是里面的内容比起之前,可能更适用于如今!网站
有据说过这些话吗?它们均摘自于这本书!
“全部的程序员都是乐观的:一切都会顺利。”
“添加人手到一个延迟的项目中只会致使完成得更慢。”
“生一个孩子老是须要九个月的时间,无论安排多少个女性。”
“一个煎蛋,承诺在两分钟内完成,但若是两分钟后仍是没有准备好,那么客户有两种选择——等待或吃半熟品,软件客户也只能这样选择。”
不幸的是,一年又一年地过去,而咱们老是在软件开发中犯着相同的错误。这本书是每个项目经理和开发人员都必须阅读的。
正从标题中所说的那样,这是一本散文集。文辞优美。这本书惟一的缺点就是引用了年迈25的古老技术。可是,这并不影响这本书的魅力。
有没有在看他人代码的过程当中,不禁自主地发出“哦,天哪,这是什么?”的经历,那么这我的确定没有阅读过《Clean Code》。
这是一本关于软件工艺史诗般的书籍。这本书不只会告诉你如何编写好的代码,并且还提供了软件开发的高效途径。照着去作的话,必将改变你的工做前景。
书中描述了编写干净代码的原则、模式和作法。里面一些关于整洁代码的几个案例都是开发人员宝贵的经验教训。
请注意,虽然在这本书中的全部实例都是关于Java的,可是从中学到的经验教训能够应用于任意的编程语言。
这篇文章所列出的这些书籍中,这本书出版得比较晚,因此可能更能引发年轻开发人员的共鸣。
此列表中Rob Martin的第二本书。建议你在读了《Clean Code》后,再读这本书。《Clean Code》讲的是代码,而这本书是关于“Coder”。
该书探讨了一些程序员常常忽视的主题。
成为专业的程序员意味着什么?
如何打磨本身成为一个真正的软件工匠
冲突和紧张的日程处理
如何管理你的时间?如何扩张技能?
什么时候说“不”
避免倦怠
..以及更多。
你可能并不老是赞成做者的观点,但它提供了良好的精神食粮。这可能并不是你所指望的,但可能正是你所须要的。
无论你怎么努力,除非改进它,不然,你交付的代码不会是最优化的。有时即便工做正常,也会实施重构。
这本书从重构的通用原则提及:为何以及何时重构,如何处理有关重构的管理等等。而后讲述了如何实现改进的过程。
代码的设计缺陷指标是什么?
如何构建类、方法和其余的逻辑块?
单元测试
如何将功能从一个对象移动到另外一个?
重构工具
..以及更多
这是改进现有代码必读的书。请注意,全部的代码示例用的都是Java,但如今复制起来也很方便!
咱们都必须工做于一些咱们痛恨的东西——对于大多数人而言,遗留代码真是使人头痛无比。
如何修改遗留代码?如何识别须要重构的代码部分?如何破坏重构代码之间的依赖关系?如何确保新的代码能完成预期的工做?如何一次一小步地重构遗留代码?
在这本杰出的书中,只是回答了一些关键的问题。若是非要用一句话总结这本书的精华,那就是“写单元测试,重构代码,确保测试都经过。”
遗留代码不是一个神话,它是一个活着的传奇!在软件行业中没有什么比遗留代码更能经受测试的考验了——Deepak Karanth
在一个庞大的做品中,若是你想要阅读全部关于编程结构和最佳实践的内容,那么这是本必读书。真正的百科全书式书籍——其最新版本有多达960页!不要被这本书的厚度吓倒,你能够按照本身的节奏阅读。最后,你会庆幸你阅读了这本书。
书中解释了软件开发的每一个方面。从代码结构,代码格式化,到变量、方法和类的命名,再一路说到管理一个团队,对全部一切都提出了实用的建议。
提供了覆盖特定主题的丰富参考和补充材料,这些也很是值得一读。
只有一小部分的软件开发人员会读这本书,因此若是你也是他们中的一个,那么你就有了优点。经过阅读这本书,你就能够得到许多年宝贵经验。
看上去最不像技术的编程书籍!每一个页面都包含涂鸦、图片以及其余一些吸引眼球的东西。可能给人的印象是一本阅读起来很轻松的书,但事实上它会讨论编程的一些核心主题——设计模式。
这本书虽然没有覆盖全部存在于这个世界的模式,可是会涵盖全部你可能须要用于解决现实问题的模式。它将帮助你建立功能性的,优雅的,可重用的和灵活 的软件。每一个模式的优劣也被明确指出。大多数关于设计模式的书籍谈论的是如何实现模式,但这本书的做者同时还解释了为何以及怎么样。
最新版本包括针对Java 8的更新——主要是Lambda。
很棒的一部做品。这本书并不是关于编程。这是一本有关管理和激励程序员的书籍。开发人员也应该阅读。不少时候,开发人员,尤为是那些没有经验的开发人员,不理解管理的思惟过程。
软件开发是一个创造性的过程。可是,大多数管理人员把它看成是流水线。开发人员被视为是机器上可替换的齿轮零部件。管理人员广泛性地会给予一个紧迫 的时间期限,看成促进积极性惟一途径。他们对开发人员的工做不感兴趣,甚至可悲的是,他们也不会试着去理解开发人员或他们本身的工艺。
若是你想成为一个想要的是质量,而不只仅是数量的管理人员,那么请马上阅读这本书!
做者解释了管理者应该如何以一种可持续的方式使他们的软件开发团队认识到他们的潜力。
一样的,这也不是一本关于编程的书。可是,倒是每个程序员都应该阅读的书。
这本伟大的书着重于管理开发人员生活的“其余”方面。能够是你生活的每个方面——事业、生活、身体、头脑,以及无论你相信与否——还有灵魂。
做者他本身也遵循这些技术,而且得到了成功。他的网站上说,他可以在他30出头的时候放弃他的平常工做。该做者将他的生活经验整理成整齐的,主题内 容为Career、Marketing yourself、Learning、Productivity、Finances, Fitness和Spirit的短章。每一个篇章都很短,能够在休息时间阅读,很是方便。
你会是一个更加满意和快乐的人,若是你按照这本书的建议去作的话,那么你将成为一个更使人满意和幸福的人和程序员。
译文连接:http://www.codeceo.com/article/10-classic-books-programmer-read.html
英文原文:10 Classic Books Every Serious Developer Should Read