一、編碼實踐
- 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《第五項修煉:學習型組織的藝術與實踐》