I. coding practices
- Clean code: clean code
- The art of readable code: The art of writing readable code
- Implementation patterns Implementation Mode
- Code complete code Daquan
- Working implements tively with legacy code "the art of code modification"
- Refactoring: improving the design of existing code refactoring-improving the design of existing code
- Valid Java (version 2)
- Java concurrency in practice Java concurrent programming practices
Ii. Analysis and Design
1. Design Mode
- Head first design patterns deep dive into Design Patterns
- Design Patterns: Elements of reusable object-oriented software design patterns-Basics of reusable Object-Oriented Software
- Design Patterns explained: A New Perspective on object-oriented design Design Pattern Analysis (version 2)
- Refactoring to patterns reconstruction and Pattern
- Antipatterns: refactoring software, ubuntures, and projects in crisis anti-pattern-reconstruction of software, architecture, and projects in crisis
2. Software Architecture
- Patterns of enterprise application architecture model
- Beautiful architecture: leading thinkers reveal the hidden beauty in software design the beauty of Architecture
- Just enough software architecture appropriate software architecture
- Software Systems Architecture: working with stakeholders using viewpoints and perspectives Software System Architecture: working with stakeholders from a point of view and Perspective (version 2)
3. Comprehensive
- Enterprise integration patterns Enterprise Integration Model
- Agile Software Development: principles, practices and models
- Practical API design: Confessions of a Java framework architect "Art of Software Framework Design"
- Domain Specific editions domain-specific languages
- Domain-driven design: Tackling complexity in the heart of software: domain-driven design-how to deal with core software complexity
- Analysis Patterns: Reusable object models analysis mode-reusable Object Model
- Object-oriented analysis and design with applications Object-Oriented Analysis and Design with applications (Third edition)
- Object-oriented design heuristics
- The art of Unix programming Art
Iii. Test
- Test-driven development by example test-driven development
- Atdd by example Acceptance Test-driven development
- Xunit test patterns: refactoring test code xunit test mode-test code Reconstruction
- Test-driven Javascript development test-driven Javascript development
- How Google tests software: Google software test path
- Agile testing: A Practical Guide for testers and agile teams Agile Software Testing-hands-on Guide for testers and agile teams
Iv. Requirements
- Specification by example instantiation requirements
- Software Requirement patterns software demand model
- Writing valid tive use case
- Managing software requirements: A use case approach software requirement management-Use Case Method (version 2)
V. Technical Cultivation
- The Clean coder: A Code of conducting CT for professional programmers professional qualities of programmers
- The productive programmer productive programmers
- Understanding the professional programmer understanding professional programmers
- The pragmatic programmer: From journeyman to master: The way programmers practice-from small workers to experts
Vi. Tools
- JUnit in action JUnit practice (version 2)
- JUnit recipes Chinese version of JUnit recipes-practical testing skills for programmers
- Applying UML and patterns: An Introduction to object-oriented analysis and design and iterative development UML and pattern application (Third edition)
- UML Distilled: a brief guide to the standard Object Modeling Language UML essence: A Concise Guide to standard Object Modeling Language (Third edition)
VII. Project Management and methodology
- The Mythical man-month: the essays on Software Engineering Mythical man-month (version 2)
- Peopleware: productive projects and teams (version 2)
- Extreme Programming explained: Embrace change resolution eXtreme Programming-Embracing Change (version 2)
- User stories applied user stories and agile methods
- Agile estimating and planning agile estimation and planning
- Scrum and XP from the trenches scrum and XP in smoke
- Lean from the trenches: Managing large-scale projects with Kanban lean development practices-using dashboards to manage large projects
- Continuous integration: improving software quality and risk cing risk continuous integration-path to software quality improvement and risk reduction
- Continuous delivery: reliable software releases through build, test, and deployment automation continuous delivery-System Method for releasing reliable software
- I. M. Wright's "hard code": a decade of hard-won lessons from Microsoft coding (version 2)
- The software development edge: Essays on managing successful projects Software Development Boundary-managed projects
- Manage it! : Your Guide to modern, pragmatic project management practices
- Behind Closed Doors: Secrets of great management the secret behind the door: The story of superior management
- Death March journey to death (version 2)
VIII. Thoughts and leadership
- The effective executive effective manager
- Are your lights on? How to figure out what the problem really is your light on? -- Locate the real problem
- Becoming a technical leader: an organic problem-solving approach becoming a technology leader-an organic solution to problems
- The practice th discipline: The Art & Practice of the learning organization the fifth practice: the art and practice of a learning organization
Programming Book recommendation-by content