一、编码实践
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《第五项修炼:学习型组织的艺术与实践》