1、編碼實踐程序員
Clean Code《代碼整潔之道》編程
The Art of Readable Code《編寫可讀代碼的藝術》設計模式
Implementation Patterns《實現模式》架構
Code Complete《代碼大全》併發
Working Effectively with Legacy Code《修改代碼的藝術》app
Refactoring: Improving the Design of Existing Code《重構——改善既有代碼的設計》框架
Effective Java(第二版)ide
Java Concurrency in Practice《Java併發編程實踐》工具
2、分析設計學習
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編程藝術》
3、測試
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《敏捷軟件測試——測試人員與敏捷團隊的實踐指南》
4、需求
Specification By Example 《實例化需求》
Software Requirement Patterns《軟件需求模式》
Writing Effective Use Cases《編寫有效用例》
Managing Software Requirements: A Use Case Approach《軟件需求管理——用例方法》(第二版)
5、技術修養
The Clean Coder:A Code of Conduct for Professional Programmers《程序員的職業素養》
The Productive Programmer《卓有成效的程序員》
Understanding the Professional Programmer《理解專業程序員》
The Pragmatic Programmer: From Journeyman to Master《程序員修煉之道——從小工到專家》
6、工具
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精粹:標準對象建模語言簡明指南》(第三版)
7、項目管理與方法學
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《死亡之旅》(第二版)
8、思想與領導力
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《第五項修煉:學習型組織的藝術與實踐》