开发人员进阶指南..........
2009-12-17 13:16
316 查看
整天做web设计,对软件方面也接触了些。图书馆的资料很多,加之长期以来的搜集和整理,得出了些偏颇的结论,把日志和摘抄的一部分拿出来和大家分享。
我之前曾说,阅读软件开发有关的书籍,是在你技能和事业上投资的好办法。 但是哪些应该阅读呢?而且该按照什么顺序阅读呢? 我已经编制了一份书单,我认为它能真正大幅提高你的能力。 我已经安排好它们的顺序,分为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周年纪念版(弗雷德里克·布鲁克斯)
这本书可能也需要一点说明。 我并不是说你应该做极限编程。 但你了解它肯定不会有害处,至少你应该在你认为有意义的时候去尝试采用这种做法。 你并不会真的需要去采用所有的做法(虽然你这样做会获得额外的好处,或者至少假装这样做),但它们中的一些,每个人都应该至少了解一下。
所以就是这样了...尝试用上述方式阅读这些书,不要忘了以后感谢我
我之前曾说,阅读软件开发有关的书籍,是在你技能和事业上投资的好办法。 但是哪些应该阅读呢?而且该按照什么顺序阅读呢? 我已经编制了一份书单,我认为它能真正大幅提高你的能力。 我已经安排好它们的顺序,分为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周年纪念版(弗雷德里克·布鲁克斯)
这本书可能也需要一点说明。 我并不是说你应该做极限编程。 但你了解它肯定不会有害处,至少你应该在你认为有意义的时候去尝试采用这种做法。 你并不会真的需要去采用所有的做法(虽然你这样做会获得额外的好处,或者至少假装这样做),但它们中的一些,每个人都应该至少了解一下。
所以就是这样了...尝试用上述方式阅读这些书,不要忘了以后感谢我
相关文章推荐
- [转]开发人员进阶读书指南
- Openfire插件开发人员指南
- .NET CoreCLR开发人员指南(上)
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性2
- 面向 Java 开发人员的 Scala 指南: 面向对象的函数编程
- Openfire插件开发人员指南
- 菜鸟开发人员ubuntu环境从0开始,装机指南
- OAuth 2 开发人员指南(Spring security oauth2)
- 开发人员个人的敏捷实践指南
- GUI可用设计,给F/OSS开发人员的快速指南
- Kafka Streams开发人员指南之流领域特定语言(Streams DSL)
- 面向Java开发人员指南:数组和集合
- Openfire插件开发人员指南
- Java Web2.0开发进阶指南
- 读书笔记:你就是极客-软件开发人员生存指南
- (转载)面向 Java 开发人员的 Scala 指南: 类操作
- 第 1 章 面向 Visual Basic开发人员的 Microsoft .NET Framework入门指南
- Microsoft Orleans 之 开发人员指南
- Apache Tomcat应用开发人员指南(部分)