我之前曾说,阅读软件开发有关的书籍,是在你技能和事业上投资的好办法。 但是哪些应该阅读呢?而且该按照什么顺序阅读呢? 我已经编制了一份书单,我认为它能真正大幅提高你的能力。 我已经安排好它们的顺序,分为3个阶段,我相信这种顺序是最有成效的。这份书单主要是为那些刚刚起步的开发人员编写的,当然专业的开发者也可参照,它对周围那些想获得提高的人来说都是相当有用的。
首先,你应该关注的是提高书写干净,毫不含糊的,可维护代码的能力。 下列书籍应该大大有助于您:
测试驱动开发(肯特·贝克)
重构(马丁·福勒)
实现模式(肯特·贝克)
代码大全:第二版(史蒂夫·麦康奈尔)
Working Effectively With Legacy Code(Michael Feathers)
Clean Code (Robert C. Martin)
上述的读书顺序可能使有些人感到惊讶,但我敢打赌,这是最有效的阅读顺序。
当你学会了如何书写伟大的代码,你应该开始以简洁的设计和架构为重点。 这并不是说,你应该只集中于设计和架构,但你越了解它,你会变得越好:
设计模式(Gang Of Four)
企业应用架构模式(马丁·福勒)
领域驱动设计(埃里克·埃文斯)
企业集成模式(格里高·Hohpe,鲍比·沃尔夫)
Release It! Design and deploy production-ready software(Michael T. Nygard)
97 Things Every Software Architect Should Know (edited by Richard Monson-Haefel)
这一阶段可能值得说明的是在这部分列出的一些图书中可能是有点'争议'的。 如果您已经阅读了第一阶段的书籍,那么你应该有能力用你自身的观点看待第二阶段的这些书籍。 你会了解到,你不应该仅仅仿照那些模式,但了解它们的存在肯定是一件好事。
最后,您需要了解如何在团队环境下工作并理解团队的动力。 下面的书籍不是具体介绍团队中的工作,但包含了众多的智慧和洞察力,这一定会帮助您在专业的团队环境中工作:
极限编程,第二版(肯特·贝克)
The Art Of Agile Development (James Shore & Shane Warden)
人月神话,20周年纪念版(弗雷德里克·布鲁克斯)
这本书可能也需要一点说明。 我并不是说你应该做极限编程。 但你了解它肯定不会有害处,至少你应该在你认为有意义的时候去尝试采用这种做法。 你并不会真的需要去采用所有的做法(虽然你这样做会获得额外的好处,或者至少假装这样做),但它们中的一些,每个人都应该至少了解一下。
所以就是这样了...尝试用上述方式阅读这些书,不要忘了以后感谢我
原文信息
标题:A Reading Guide To Becoming A Better Developer
来源:http://davybrion.com/blog/2009/11/a-reading-guide-to-becoming-a-better-developer/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+davybrion+%28The+Inquisitive+Coder%29
via 译言 | 翻译者 levyfan