一、编码实践
- Clean Code《代码整洁之道》
- The Art of Readable Code《编写可读代码的艺术》
- Implementation Patterns《实现模式》
- Code Complete《代码大全》
- Working Effectively with Legacy Code《修改代码的艺术》
- Refactoring: Improving the Design of Existing Code《重构——改善既有代码的设计》
- Effective Java(第二版)
- Java Concurrency in Practice《Java并发编程实践》
二、分析设计
1、设计模式
- Head First Design Patterns《深入浅出设计模式》
- Design Patterns: Elements of Reusable Object-Oriented software 《设计模式——可复用面向对象软件的基础》
- Design Patterns Explained: A New Perspective on Object-Oriented Design《设计模式解析》(第二版)
- Refactoring to Patterns《重构与模式》
- AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis《反模式——危机中软件、架构和项目的重构》
2、软件架构
- Patterns of Enterprise Application Architecture 《企业应用架构模式》
- Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design《架构之美》
- Just Enough Software Architecture《恰如其分的软件架构》
- Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives《软件系统架构:使用视点和视角与利益相关者合作》(第二版)
3、综合
- Enterprise Integration Patterns《企业集成模式》
- Agile Software Development 《敏捷软件开发:原则、实践与模式》
- Practical API Design: Confessions of a Java Framework Architect 《软件框架设计的艺术》
- Domain Specific Languages 《领域特定语言》
- Domain-Driven Design: Tackling Complexity in the Heart of Software 《领域驱动设计——软件核心复杂性应对之道》
- Analysis Patterns: Reusable Object Models《分析模式——可复用的对象模型》
- Object-Oriented Analysis and Design with Applications《面向对象分析与设计with applications》(第三版)
- Object-Oriented Design Heuristics《OOD启思录》
- The Art of UNIX Programming《Unix编程艺术》
三、测试
- Test-Driven Development By Example《测试驱动开发》
- ATDD by Example《验收测试驱动开发》
- xUnit Test Patterns: Refactoring Test Code《xUnit测试模式—测试码重构》
- Test-Driven JavaScript Development《测试驱动的JavaScript开发》
- How Google Tests Software《Google软件测试之道》
- Agile Testing: A Practical Guide for Testers and Agile Teams《敏捷软件测试——测试人员与敏捷团队的实践指南》
四、需求
- Specification By Example 《实例化需求》
- Software Requirement Patterns《软件需求模式》
- Writing Effective Use Cases《编写有效用例》
- Managing Software Requirements: A Use Case Approach《软件需求管理——用例方法》(第二版)
五、技术修养
- The Clean Coder:A Code of Conduct for Professional Programmers《程序员的职业素养》
- The Productive Programmer《卓有成效的程序员》
- Understanding the Professional Programmer《理解专业程序员》
- The Pragmatic Programmer: From Journeyman to Master《程序员修炼之道——从小工到专家》
六、工具
- JUnit in Action《JUnit实战》(第二版)
- JUnit Recipes《Junit Recipes中文版—程序员实用测试技巧》
- Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development 《UML和模式应用》(第三版)
- UML Distilled: A Brief Guide to the Standard Object Modeling Language《UML精粹:标准对象建模语言简明指南》(第三版)
七、项目管理与方法学
- The Mythical Man-Month: The Essays on Software Engineering《人月神话》(第二版)
- Peopleware : Productive Projects and Teams人件(第二版)
- Extreme Programming Explained: Embrace Change《解析极限编程——拥抱变化》(第二版)
- User Stories Applied《用户故事与敏捷方法》
- Agile Estimating and Planning《敏捷估计与规划》
- Scrum and XP From the Trenches《硝烟中的Scrum和XP》
- Lean from the Trenches: Managing Large-Scale Projects with Kanban《精益开发实战——用看板管理大型项目》
- Continuous Integration: Improving Software Quality and Reducing Risk《持续集成——软件质量改进和风险降低之道》
- Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation《持续交付——发布可靠软件的系统方法》
- I. M. Wright’s“Hard Code”:A Decade of Hard-Won Lessons from Microsoft《代码之殇》(第二版)
- The Software Development Edge: Essays on Managing Successful Projects《软件开发的边界——管理成功的项目》
- Manage It!: Your Guide to Modern, Pragmatic Project Management《项目管理修炼之道》
- Behind Closed Doors: Secrets of Great Management《门后的秘密:卓越管理的故事》
- Death March《死亡之旅》(第二版)
八、思想与领导力
- The Effective Executive《卓有成效的管理者》
- Are Your Lights On? How to Figure Out What the Problem Really Is《你的灯亮着吗?——发现问题的真正所在》
- Becoming A Technical Leader:An Organic Problem-Solving Approach《成为技术领导者——解决问题的有机方法》
- The Fifth Discipline: The Art & Practice of The Learning Organization《第五项修炼:学习型组织的艺术与实践》