Six books that programmers must read

Source: Internet
Author: User

As a programmer, the daily work in addition to the work of the code is overtime to the code. The code is not difficult, just ask Google,stackoverflow, solution and demo a basket, but the first good code is not easy. Coincidentally, the yard catch a lot of, excellent programmers are not easy to find. Good programmers can not be from a variety of hype training institutions, more unlikely to come from the excavator cradle of Shandong Brewster, the majority of good programmers have one thing in common, that is self-study.

Why is it self-taught? First of all, college education is not going to make you an expert programmer, and secondly, to be able to stand out from the team will definitely pay more effort to learn. Self-study is actually a very powerful ability, once mastered, a lot of technology and problems can be easily done.

High school physics regulars Newton once said, "If I look farther than others, it is because I stand on the shoulders of giants." The stone of his mountain, can attack Jade. Reading the works of Master Masters is undoubtedly one of the most effective ways of self-study. The industry-famous Uncle Bob is a staunch supporter of code cleanliness and object-oriented programming, and its writings in this area can be called authority. Martin Fowler is also famous for his work on refactoring-refactoring-improving the design of existing code should be a manual. Reading the works of two people above is a boon to technology.

This article is a list of six of the industry 's works of cattle, but also the classic classic programming books, these books are not simple tutorial books, but to teach you methods and ideas to solve the problems encountered in reality, improve the skills and realm of coding.

Refactoring--Improving the design of existing code

What refactoring, word, is to methodically improve the code without altering the external behavior. Although the book uses the Java language to write sample code, its concepts and ideas are also appropriate for other languages. In the book, the author starts with some bland, even bad-tasting code, step-by-step changes into more flexible, reusable code. Through the examples in the book, you will clearly understand what a neat code is. Refactoring is still an essential skill for experienced programmers, and when you want to improve refactoring code, reading this book will let you rule it out.

The way of code cleanliness


This is my favorite book, more than once I recommend it to my colleagues, readers and students. I think it can be called software development and coding the most convenient book. Uncle Bob. I don't want to introduce him, he wrote a series of books on agile development, my bookshelf has his "code neat Way", "Programmer's professional Accomplishment", "Agile software Development (principle mode and practice)", "Agile software Development (principle mode and practice)", "UML for Java for Programmers "," Extreme Programming in Practice "and other books. Although his books are a bit old, these books are still valuable, even after decades, especially in object-oriented programming. This book is not just about telling you what to do, it teaches you what not to do. There is a chapter on the taste of the code that outlines the various errors encountered by most programmers, followed by chapters detailing how to correct these errors. For example, how to convert an over-length switch declaration into a model that follows the open closure principle, and how to take advantage of integration and polymorphism. Again, this book is really worth every programmer. As with the previous book, the examples in the book are in the Java language, but are still suitable for developers of other object-oriented programming languages to read. The book is essential to the good code of the hand.

Code Daquan

Presumably this book everyone has read, this is the famous "Code Encyclopedia", from a certain point of view, it is actually the C + + version of the "Code Clean Road." The goal of this book is to help developers write better software using high-quality code. The same book also deals with common problems and best practices in programming. This book can also be called a must-read book, especially for C and C + + programmers. The techniques discussed in the Code Encyclopedia (2nd edition) not only fill the gap between primary and advanced programming practices, but also provide a source of information for programmers on software development techniques. The Code Encyclopedia (2nd edition) is useful for experienced programmers, technology leaders, self-taught programmers, and students who do not have much programming experience. It can be said that as long as you have a certain programming foundation, want to become a good programmer, read the Code Encyclopedia (2nd edition) will not disappoint you.

The Art of unit testing

If I have to do something to improve the developer level, I think that's the ability for developers to master unit testing. Unit testing is an essential skill for professional developers, and most programmers do not have the ability to TDD (test-driven development). While I'm not following the pattern of TDD, I write unit tests for the code I write or maintain. For the project, open source projects are basically strictly adhere to the implementation of unit testing, and many commercial projects in the unit test is missing. A project with unit tests becomes easier to maintain and change. This book will describe the difference between a successful project and a failed project, the difference between a maintainable code base and a non-maintainable codebase. Examples of this book are. NET code, but this does not affect your understanding of unit testing. If you are a technical person or project leader, this book can help you better control project code quality. If you look at Java more comfortably, you can also take a look at the book "JUnit Combat (2nd edition)".

The way of lean software development management

Lean software Development Management is a book on software development methodology. From 24 different perspectives, the author examines agile and Lean methods in a larger space, time, industry, and culture context. "Lean software Development Management" explains in detail the underlying reasons for the success of agile and lean development methodologies. "Lean software Development Management" includes the following: System thinking, in a proper enough way to pay attention to the customer, technical excellence, introduced the foundation of outstanding software development-low-coupling architecture, test-driven development process, reliable delivery, discussed the workflow and schedule, and the important role of feedback, relentless improvement, The basic features of all lean organizations are discussed: continuous, never-satisfying improvements, exceptional people, excellent results from superior people, consistent leadership, and discussion of consensus in the leadership team.

The basis of design pattern reusable object-oriented software


This book either you read it or you have heard it, this is the classic Gof (Gang of the four Chinese Gang of four) design pattern book. The book is written by four people, Eric Gamma, Richard Helm, Ralph Johnson, and John Vissides. Four top object-oriented experts carefully selected the most valuable design practices, sorted and named, and expressed in a concise and easy-to-reuse form. The book has become an object-oriented technical staff of the Bible and dictionaries, the book defines the 23 models gradually become the development of technical exchanges must be the basic knowledge and vocabulary. Using these design patterns, we can design a flexible, elegant and reusable extensible design.


Original reference: 6 Books to learn and Master programming and Coding–must Read

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Six books that programmers must read

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.