我之前曾说,阅读软件开发有关的书籍,是在你技能和事业上投资的好办法。 但是哪些应该阅读呢?而且该按照什么顺序阅读呢? 我已经编制了一份书单,我认为它能真正大幅提高你的能力。 我已经安排好它们的顺序,分为3个阶段,我相信这种顺序是最有成效的。这份书单主要是为那些刚刚起步的开发人员编写的,当然专业的开发者也可参照,它对周围那些想获得提高的人来说都是相当有用的。
首先,你应该关注的是提高书写干净,毫不含糊的,可维护代码的能力。 下列书籍应该大大有助于您:% t+ T" F: S, w8 a& N
- 测试驱动开发(肯特·贝克)
- 重构(马丁·福勒)
- 实现模式(肯特·贝克)
- 代码大全:第二版(史蒂夫·麦康奈尔)
- Working Effectively With Legacy Code(Michael Feathers)
- Clean Code (Robert C. Martin)
上述的读书顺序可能使有些人感到惊讶,但我敢打赌,这是最有效的阅读顺序。/ E Z/ K( `; ~. R8 w
当你学会了如何书写伟大的代码,你应该开始以简洁的设计和架构为重点。 这并不是说,你应该只集中于设计和架构,但你越了解它,你会变得越好:" g% G) ?/ i9 ?+ v( L
- 设计模式(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)
这一阶段可能值得说明的是在这部分列出的一些图书中可能是有点'争议'的。 如果您已经阅读了第一阶段的书籍,那么你应该有能力用你自身的观点看待第二阶段的这些书籍。 你会了解到,你不应该仅仅仿照那些模式,但了解它们的存在肯定是一件好事。7 _: P: I; B5 l4 _+ f9 [) C
最后,您需要了解如何在团队环境下工作并理解团队的动力。 下面的书籍不是具体介绍团队中的工作,但包含了众多的智慧和洞察力,这一定会帮助您在专业的团队环境中工作:* h! X: d, c- ?7 K! f: Q' O7 x1 G
这本书可能也需要一点说明。 我并不是说你应该做极限编程。 但你了解它肯定不会有害处,至少你应该在你认为有意义的时候去尝试采用这种做法。 你并不会真的需要去采用所有的做法(虽然你这样做会获得额外的好处,或者至少假装这样做),但它们中的一些,每个人都应该至少了解一下。. T7 q+ o+ T" ~9 J
所以就是这样了...尝试用上述方式阅读这些书,不要忘了以后感谢我