Standing on the shoulders of giants
I saw a vigorous discussion in the blog Park.ProgramOn devlicio. Us, Billy McCafferty wrote the article "standing on the shoulders of giants". We recommend the following:
Standing on the shoulders of giants
Http://devlicio.us/blogs/billy_mccafferty/archive/2007/11/12/standing-on-the-shoulders-of-giants.aspx
As the world is increasingly dependent on our practice, as practitioners in the computer industry
It is really necessary to give due respect. The first step of action is to read some classic books, master the knowledge and effective practices summarized by the predecessors/industry, and use these knowledge in daily practices.
Knowledge and practice to become a better developer. He divided these books into five categories:
Foundational texts)(Every developer should read, no exception, no matter what experience or platform. These books focus on discussing how to write better and maintainCode, Transition to solid object-oriented design)
- Code complete, 2nd ed. by Steve McConnell)
- Refactoring by Martin Fowler)
- Refactoring workbook by William wake
- Applying UML and patterns, 3rd ed. by Craig larman ([Chinese Version] UML and model applications: Introduction to object-oriented analysis and design, translated by Yao shuzhen, published by the Mechanical Industry Press) and UML Distilled, 3rd ed. by Martin Fowler
- Object-oriented design heuristics by Arthur Riel)
Apprenticeship texts)(These books help you shift from the code level to the high-level level to improve the overall project)
- The pragmatic programmer by Andrew hunt)
- Patterns of enterprise application architecture by Martin Fowler)
- Test-driven development by Kent Beck (Chinese Version] Test-driven development, translated by Cui Kai, published by China Power Publishing House)
- Refactoring to patterns by Joshua kerievsky ([Chinese Version] reconstruction and pattern, translated by Yang Guang, published by People's post and telecommunications Press)
- Head first design patterns by the Freemans ([Chinese Version] Head first design model, umlchina translation, published by China Power Press) and design patterns ([Chinese Version] Design Model: the basis for reusable object-oriented software, translated by Li Yingjun, published by Mechanical Industry Publishing House)
Journeyman texts)(These books turn to "Integrating things", involving the software development process and going deep into the "Science" behind computer science ")
- The Mythical man-month by Frederick Brooks (Chinese Version] Mythical man-month, umlchina translation, published by Tsinghua University Press)
- User stories applied by Mike Cohn
- Agile Software Development ([Chinese Version] Agile Software Development: Principles, models and practices, translated by Deng Hui, published by Tsinghua University Press) or agile principles, patterns, and practices in C # by Robert Martin
- Applying domain-driven design and patterns by Jimmy Nilsson
- Rapid development by Steve McConnell
- Extreme Programming explained, 2nd ed. by Kent Beck)AndAgile Project Management with scrum by Ken schwaber (Chinese Version] scrum Agile Project Management, translated by Li guobiao, published by Tsinghua University Press)
- Introduction to algorithms by Thomas cormen
The beginnings of mastery)(These books help you hone your skills and improve team efficiency)
- Domain driven design by Eric Evans (Chinese version) domain-driven design-the way to cope with software core complexity, translated by Chen Dafeng, published by Tsinghua University Press)
- Working into tively with legacy code by Michael feathers ([Chinese Version] The Art of code modification, translated by Liu weipeng, published by People's post and telecommunications Press)
- Agile estimating and planning by Mike Cohn (Chinese version) agile estimation and planning, translated by Song Rui, published by Tsinghua University Press)
- Lean software development by poppendiecks ([Chinese Version] agile software development tools-lean development methods, translated by Zhu gaoyi, published by Tsinghua University Press) and implementing lean Software Development
Mastery texts)(Although not necessary, the following books will help you enter the field of pure computer science. At least they will show you that our work has a solid foundation for quantitative science)
- The art of computer programming, Volume 1: fundamental algorithms, 3rd ed. by Donald knuth 2nd, 3, 4 (and related books) ([Chinese Version] Computer Programming arts 1-4, translated by Su Yunlin, published by Mechanical Industry Press)
- Concrete mathematics: a foundation for computer science, 2nd ed. by Donal knuth