站在巨人的肩膀上 -- 书籍推荐
//z 2012-5-13 16:39:07 PM IS212
随着这个世界越来越依赖我们的实践,作为计算机行业的从业人员,对计算机行业的 science实在有必要给与应有的尊重。行动的第一步,就是阅读一些经典的著作,掌握前人/前辈/行业大家们总结出来的知识和行之有效的实践,在日常实践中使用这些知识和实践,成为一个更好的开发人员。他将这些著作分成五大类:
基本读物(Foundational Texts)(每个开发人员都应该读的,没有例外,不管什么经验或平台。这些读物注重讨论如何编写更好,可维护的代码,向坚实的面向对象设计过渡)(//z 2012-5-13 16:39:07 PM IS2120
- Code Complete, 2nd Ed. by Steve McConnell(【中文版】代码大全(第二版),金戈译,电子工业出版社出版)
- Refactoring by Martin Fowler(【中文版】重构:改善既有代码的设计,侯捷译,中国电力出版社出版)
- Refactoring Workbook by William Wake
- Applying UML and Patterns, 3rd Ed. by Craig Larman(【中文版】UML和模式应用:面向对象分析与设计导论,姚淑珍译,机械工业出版社出版) 以及 UML Distilled, 3rdEd. by Martin Fowler
- Object-Oriented Design Heuristics by Arthur Riel(【中文版】OOD启思录,鲍志云译,人民邮电出版社出版)
学徒读物(ApprenticeshipTexts)(这些读物帮你从代码的层次转移到从高的层次来看待实现,以完善项目整体为目的)
- The Pragmatic Programmer by Andrew Hunt(【中文版】程序员修炼之道——从小工到专家,马维达译,电子工业出版社出版)
- Patterns of Enterprise Application Architecture by MartinFowler (【中文版】企业应用架构模式,王怀民译,机械工业出版社出版)
- Test-Driven Development by Kent Beck(【中文版】测试驱动开发,崔凯译,中国电力出版社出版)
- Refactoring to Patterns by Joshua Kerievsky(【中文版】重构与模式,杨光译,人民邮电出版社出版)
- Head First Design Patterns by the Freemans (【中文版】HeadFirst设计模式,UMLChina译,中国电力出版社出版)
以及 Design Patterns(【中文版】设计模式:可复用面向对象软件的基础,李英军译,机械工业出版社出版)
熟练技术人员读物(JourneymanTexts)(这些读物转向“把东西整合起来”,涉及软件开发过程,并深入计算机科学后面的“science”)
- The Mythical Man-Month by Frederick Brooks(【中文版】人月神话,UMLChina译,清华大学出版社出版)
- User Stories Applied by Mike Cohn
- Agile Software Development (【中文版】敏捷软件开发:原则、模式与实践,邓辉译,清华大学出版社出版)或者 Agile Principles, Patterns, and Practices in C# by RobertMartin
- Applying Domain-Driven Design and Patterns by JimmyNilsson
- Rapid Development by Steve McConnell
- Extreme Programming Explained, 2nd Ed. by Kent Beck(【中文版】解析极限编程--拥抱变化(第二版),雷剑文译,电子工业出版社出版)
以及 AgileProject Management with Scrum by Ken Schwaber(【中文版】Scrum敏捷项目管理,李国彪译,清华大学出版社出版) - Introduction to Algorithms by Thomas Cormen
专家初始读物(The Beginnings ofMastery)(这些读物帮你磨练技术,帮助提高团队的效率)
- Domain Driven Design by Eric Evans(【中文版】领域驱动设计--软件核心复杂性应对之道,陈大峰译,清华大学出版社出版)
- Working Effectively with Legacy Code by Michael Feathers(【中文版】修改代码的艺术,刘未鹏译,人民邮电出版社出版)
- Agile Estimating and Planning by Mike Cohn(【中文版】敏捷估计与规划,宋锐译,清华大学出版社出版)
- Lean Software Development by Poppendiecks(【中文版】敏捷软件开发工具——精益开发方法,朱崇高译,清华大学出版社出版) 以及
Implementing LeanSoftware Development
专家读物(MasteryTexts)(虽然不是必读,但下面这些读物助你进入纯计算机科学的领域,最少也向你示范我们的工作有个坚实的定量科学的基础)
- The Art of Computer Programming, Volume 1: FundamentalAlgorithms, 3rd Ed. by Donald Knuth 第 2, 3, 4 卷(以及相关著作)(【中文版】计算机程序设计艺术 1-4卷,苏运霖译,机械工业出版社出版)
- Concrete Mathematics: A Foundation for Computer Science, 2ndEd. by Donal Knuth
//z 2012-5-13 16:39:07 PM IS2120