Current location - Training Enrollment Network - Books and materials - A classic book that programmers must read.
A classic book that programmers must read.
Programmers need to learn a lot of knowledge, and they need to keep reading and learning in order to constantly improve themselves. The following are the books about programmers that I will bring to you, hoping to help you!

A must-read book for programmers.

1. refactoring: improving the design of existing code (an immortal classic of software development)

What is refactoring? In a word, it is to improve the code in an orderly way without changing the external behavior. Although this book uses Java language to write sample code, its concepts and ideas are also applicable to other languages. In the book, the author starts with some bland or even unpleasant codes and turns them into more flexible and reusable codes step by step. Through the examples in the book, you will clearly understand what neat code is. In fact, refactoring is still a necessary skill for experienced programmers. When you want to improve refactoring code, reading this book will make you have rules to follow and be suddenly enlightened.

2. Code Cleanliness (Robert C. Martin's masterpiece, translated by Han Leixian)

This is my favorite book. I have recommended it to colleagues, readers and students more than once. I think it can be called the best book, and software development and coding are very convenient. I don't think it necessary to introduce Uncle Bob. He has written a series of books on agile development. My bookshelf is full of his books, such as Code Cleanliness, Programmer's Professionalism, Agile Software Development (Principle Mode and Practice), Agile Software Development (Principle Mode and Practice), UML of Java for Programmers, Extreme Programming in Practice and so on. Although his books are a little old, they are still valuable, even after decades, they are still useful, especially in object-oriented programming. This book not only tells you what to do, but also teaches you what not to do. There is a chapter in the book about the smell of code, which comprehensively lists all kinds of errors encountered by most programmers, and the subsequent chapters describe in detail how to correct these errors. For example, how to transform a long switch statement into a model that follows open closed principle, and how to take advantage of integration and polymorphism. Again, this book really deserves to be owned by every programmer. Like the last book, the examples in the book use Java language, but they are still applicable to developers who use other object-oriented programming languages. This book is essential if you want to master a good code.

3. Code collection

Won the JoltaAward Shock Award for Software twice! The world map of software development, the classic among the classics.

Everyone must have read this book. This is the famous code encyclopedia. In a way, it is actually the C++ version of the code Neat. The goal of this book is to help developers write better software by using high-quality code. This book also covers common problems and best practices in programming. This book can also be called a must-read, especially for C and C++ programmers. The technology discussed in the Code Encyclopedia (Second Edition) not only fills the gap between the primary and advanced programming practices, but also provides programmers with information sources about software development technology. Code Encyclopedia (2nd Edition) is of great benefit to experienced programmers, technical leaders, self-taught programmers and students without much programming experience. It can be said that as long as you have a certain programming foundation and want to be an excellent programmer, you won't be disappointed after reading Complete Code (2nd Edition).

4. The art of unit testing

Robert C. Martin, a world-class software development master and pioneer of design pattern and agile development, strongly recommends it.

If we have to do something to improve the project and improve the level of developers, I think it is to let developers master the ability of unit testing. For professional developers, unit testing is a necessary skill, but most programmers do not have the ability of TDD (test-driven development). Although I don't follow the TDD pattern, I also write unit tests for the code I write or maintain. For engineering, open source projects basically strictly abide by the implementation of unit testing, while many commercial projects lack unit testing. Projects with unit tests will become easier to maintain and change. This book will introduce the difference between successful projects and failed projects, and the difference between maintainable code base and unmaintable code base. The example in this book is. NET code, but this will not affect your understanding of unit testing. If you are a technical director or project director, this book can help you better control the quality of project code. If you are familiar with Java, you can also read the book JUnit in Action (2nd Edition).

5. Lean software development and management

Lean software development management is a book of software development methodology. The author studied agile and lean methods from 24 different angles in a larger space, time, industry and cultural background. "The Way of Lean Software Development and Management" expounds the deep reasons for the success of agile and lean development methods. "Lean software development management" includes the following contents: systematic thinking, paying attention to customers in an appropriate and sufficient way; Excellent technology, introduce the foundation of excellent software development-low coupling architecture, test-driven development process, etc. Reliable delivery, discussing workflow and schedule, and the important role of feedback; Ruthless improvement, discusses the basic characteristics of all lean organizations: continuous and never satisfied improvement; Excellent people, excellent results come from excellent people; Consistent leadership, discussion and consensus in the leadership team.

6. Design pattern: the basis of reusable object-oriented software.

Either you have read the book or you have heard of it. This is a classic GOF (The Gang of Four translated into Chinese _) design pattern book. The authors of this book are Eric Gama, Richard Helm, Ralph Johnson and John Weisside. Four top experts in the object-oriented field carefully selected the most valuable design practices, arranged and named them, and expressed them in a concise and reusable form. This book has become a bible and dictionary for object-oriented technicians, and the 23 modes defined in the book have gradually become the basic knowledge and vocabulary necessary for developing community technical communication. Using these design patterns, we can design flexible, elegant and reusable extensible designs.

7. Explain PHP in detail

5 1CTO "Readers' Favorite Original IT Technical Books" Award

The purpose of "Talking about PHP in detail" is to let readers have the best book to learn and develop PHP, and to refine and extend every knowledge point listed, so as to explain it in place and make it easy for readers to understand. Almost every knowledge point has a corresponding and detailed operation code package, and all the sample codes are accompanied by detailed comments, explanations and operation effect diagrams. In addition, at the end of each chapter, a large number of teaching courseware and self-test questions (with CDs) are arranged for readers, which can better help readers master theoretical knowledge points, improve their practical programming ability and combine learning with application. It plays a key role in the introduction and improvement of PHP technology.

Gao Luofeng, author of PHP Detailed Explanation. He is currently the teaching director of Beijing LAMP Brothers [1] (Yidiyou Education), with five years of software development experience and four years of IT teaching experience. He has served as technical director, project manager and senior software engineer in many listed companies, and has a solid technical foundation. Senior certified lecturer in China, engaged in IT training so far, has taught more than 6,000 class hours, and has trained nearly 1,000 students to successfully go to IT posts, with rich IT teaching experience.

Professional and technical books for programmers

1, The Beauty of Mathematics, 2nd Edition

The first edition of the award-winning bestseller The Beauty of Mathematics won the 8th Golden Book Award of the National Library.

The first edition was selected by the State Administration of Radio, Film and Television as "100 Excellent Books Recommended to Teenagers in China in 20 14" and won the best seller in the whole industry in 2012/2013.

College students in the information field must read good books, and the subject recommended by CCTV news is a stepping stone.

The new version adds the latest content such as big data and machine learning to meet people's learning needs for current technologies; At the same time, according to the feedback from experts and readers, the mistakes and omissions were corrected and some contents were updated.

The first edition of Beauty in Mathematics was well received by readers and won the 8th Golden Book Award of the National Library. The reader said that after reading Beauty of Mathematics, it was discovered that the mathematical knowledge learned in college, such as Markov chain, matrix calculation and even cosine function, was so kind and vivid, and it was only then that natural language and information processing were so interesting. Nowadays, mathematics is more and more widely used in the information industry. Therefore, the author added some contents in the second edition, especially for big data and machine learning, to meet people's learning needs for current technologies.

2. The light of civilization Volume III

Dr. Wu Jun's cross-border works after the award-winning bestsellers "Top of the Wave" and "The Beauty of Mathematics"

Tell you something about the history of human civilization in his eyes that goes beyond 5 thousand years.

Feel the beauty of science and technology and humanities with the winners of the Jinwen Award.

The creative material selected by the author comes from what he has seen and heard around the world for more than ten years, and he has a profound experience and understanding of its content. Each chapter of the third volume of the Light of Civilization series is still relatively independent, and the book shows the diversity in the development of human civilization in a panoramic way. It covers eight topics, including music, fine arts, computers, Internet, finance, the inspiration of Silicon Valley to the development of world science and technology, particles and cosmic astronomy, and environmental protection.

3. Construction method: modern software engineering

Teaching software engineering in the modern way of "learning by doing"

Academician Li Wei strongly recommended it, and many soft-working teachers unanimously praised it.

The representative work of Zou Xin, Director of Microsoft R&D.

It is suggested that students majoring in software engineering learn the true meaning of software engineering, the true meaning of the word "engineering" and the difference between software engineering and computer science. After understanding, you will know why software engineering is an industry with high employment gold content.

The book envisions many scenes of "learning" and "learning", and uses many analogies, which is very vivid and interesting. This textbook also puts forward higher requirements for software engineering teachers; For students, they are also faced with the choice of how to study hard "dry goods"

Construction method: Modern software engineering is divided into 17 chapters. Compared with the related parts of software engineering in ACM/IEEE20 13 (Computer Science Course 20 13), this textbook covers most of the contents of Core-Tier 1 and Core-Tier2. It can be said that the coverage of the whole book's software engineering content is not inferior to any existing textbook, and it also tells the latest practical methods in the industry.

A good book for programmers.

1. Godel, escher and Bach

Douban score: 9.4 points

About the author: Douglas? Richard. Hofstadter, Chinese name Hou Shida, is an American scholar and writer. The main research fields include consciousness, analogy, artistic creation, literary translation and mathematical exploration. He won the Pulitzer Prize (non-fiction) and the National Classic Award (science) for his work Godel, escher and Bach.

Highlight: This is a gobbledygook. Wandering in mathematics, painting, music and stories, I am exploring the most profound problem in philosophy: how consciousness and soul come into being, and exploring artificial intelligence and human intelligence from the perspective of philosophy. After reading the book, you may not remember too many details, but inadvertently you will find that it has deeply influenced your world view.

2. Introduction to the algorithm

Douban score: 9.4 points

About the author: Thomas? Coleman, Professor and Head of the Department of Computer Science at Dartmouth College; Charles. Ressoer Sen is a professor in the Department of Computer Science and Electrical Engineering at MIT. He is currently the chairman of the MIT Supercomputing Technology Research Group and a member of the MIT Computer Science and Artificial Intelligence Laboratory Computing Theory Research Group. Ronald? Li, currently in the Department of Electronic Engineering and Computer Science at MIT, is Andrew and Ona. Professor Andrew and Erna Viterbi. He is a member of the Computer Science and Artificial Intelligence Laboratory of Massachusetts Institute of Technology and leads the Center for Information Security and Privacy. He is now the head of the National Cryptography Society; Clifford? Stan is a professor in the Department of Computer Science and the Department of Industrial Engineering and Operations of Columbia University. He is also the head of the industrial engineering and operation department.

Highlight: This book gives a comprehensive introduction to computer algorithms in simple terms. The analysis of each algorithm is both easy to understand and interesting, which keeps the rigor of mathematics. The design goal of this book is comprehensive and suitable for many purposes. The contents involved include: the function of algorithm in calculation, probability analysis and introduction of random algorithm. The book specifically discusses linear programming, introduces two applications of dynamic programming, randomized approximate algorithm and linear programming technology, and also discusses the partition method and expected linear time series statistical algorithm used in recursive solution and quick sorting, as well as the elements of greedy algorithm. This book also introduces the correctness proof of strongly connected subgraph algorithm, the NP completeness proof of Hamiltonian loop, the subset summation problem and so on.

Guess you like:

1. Professional technical books shared by programmers

2. Recommended books for 2.linux programmers.

Recommended books that 3.Java programmers must read.

4. Teenagers' Reading Bibliography Recommended by Tsinghua University

5. Books that literary youth must read