Wrote the content of this article is very early, and I have also been synchronization in a storehouse in my lot (warehouse) in content continues to improve, address: https://github.com/CodingDocs/awesome-cs. Corresponding Gitee address: https://gitee.com/SnailClimb/awesome-cs (lot unable to access or access speed slower friend can see the cloud corresponding content).

Considering that I have not sent a similar article, I would like to write one tonight! Here are some of the books I’ve read and found worthy of recommendation.

However, these books are more theoretical and can only help you establish a standard of awareness for writing good code. If you want to write higher-quality code and higher-quality software, you should look at good source code and learn good coding practices (such as design patterns, design principles).

Clean code

“Refactoring”

Must-see books! Needless to say. A gem in programming books.

Martin Fowler’s book is one of the best in the field of software development. A second edition has been published.

This is a book worth reading many times.

“The Clean Code”

Clean Code is a classic book by Uncle Bob. It is highly recommended that you read it.

Uncle Bob has condensed his understanding of clean code into this book, which is a great gift to a young man.

The Complete Code

In fact, “The Complete Code (2nd Edition)” is a book I do not want to recommend to everyone. However, in view of its Douban rating so high share, or out to say!

It’s also a very classic book, and the second edition rewrites the first edition.

I’ve briefly scanned the book, and I think it’s pretty empty overall, and of little use to most programmers. If you want to actually improve the quality of your Code, Clean Code and The Art of Writing Readable Code are both better books in my opinion than Complete Code.

However, the most important thing is to look at good source code and learn good coding practices.

The Art of Writing Readable Code

The Art of Writing Readable Code is similar in meaning to Clean Code, as you can see by looking at the contents of both books.

In my opinion, if you’ve read Clean Code, you don’t need to read it. Of course, if you have the time and energy, you can also go through it quickly.

In addition, I recommend a repository called write-readable-code here. The authors of this repository freely shared a series of videos based on the book The Art of Writing Readable Code. This series of videos will teach you how to optimize your code based on the Java language.

The effect of learning by doing will definitely be better! Recommended friends to learn ah!

“Effective Java”

A must-see for Java programmers!

Another JAVA domain national treasure level book, very classic. This book presents many useful rules of thumb in Java programming that cover solutions to the problems that most developers face every day. This article will actually help you write cleaner, more robust, and more efficient code. Each rule in this book appears as a short, stand-alone article, and is further illustrated by example code.

Programmer Professionalism

The Clean Coder

The Clean Coder is another classic of Uncle Bob’s.

“Clean Code” and “The Clean Coder” are both translated in China as “Clean Code”, which I think is not elegant enough translation.

In addition, the content of the two is also very different. Clean Code is a book that explains how to improve your Code from the Code level. The Clean Coder, on The other hand, is written from The perspective of how to become a better developer. It teaches you how to be professional in your field, how to say no, how to manage your time, how to handle stress, and so on.

The path to a clean structure

The Way to Organize Tidily

You read that right. The Way to Organize is another Uncle Bob classic.

This book I strongly amway! After reading it carefully, I guarantee that you will have a better understanding of the nature of programming, the nature of programming languages, software design, and architecture design.

Many books and columns across the country have been inspired by The Way to Organize Tidily. It is no exaggeration to say that The Way to Clean Architecture is one of the most classic books in the architecture field.

As the author puts it:

If we dig into the nature of computer programming, we’ll find that it hasn’t changed much in the last 50 years. Programming languages have improved a little, the quality of tools has improved a lot, but the basic structure of computer programs has not changed.

Although we have new programming languages, new programming frameworks, new programming paradigms, the rules of software architecture are still the same as they were in 1946 when Alan Turing wrote the first line of machine code.

The purpose of this book is to show these timeless rules of software architecture.

The project management

The Myth of the Man Month

This book describes the basic laws of software development: a job that takes 10 days can’t be done by 10 people in one day!

At first glance, the title of a book doesn’t feel like a technical book. However, it is a title that seems to have nothing to do with programming, but has become a long-standing classic in the field of programming.

This book has profound significance for the standardization of the development of modern software, especially complex software.

Domain Driven Design: Coping with the Complexity of Software Core

This classic book on domain driven design has been widely recommended, but I’m still reading it.

Software quality recommended by other books

  • The Future of Code: This book by Yukihiro Matsumoto, the father of Ruby, is one of the older books (published 13 years ago), but it’s still worth reading. This book focuses on the nature of programming/programming languages. Personally, I like Matsumoto’s style of writing, and you can really learn something from his writing.
  • Design Patterns: A more interesting style, suitable for the introduction of design patterns.
  • “Software Architecture Design: Integration of Technical Architecture and Business Architecture of Large Websites” : very comprehensive content. It is suitable to acquire some important theoretical knowledge before the interview, and also suitable to expand/improve their technical breadth.
  • Microservice Architecture Design Patterns: This book was written by Chris Richardson, one of the top 10 software architects in the world and a pioneer in microservice architecture. Rated 9.6 on Douban. The sample code uses the Java language and the Spring framework. Helps you design, implement, test, and deploy microservice-based applications.

Finally, I recommend two related documents:

  • Alibaba Java development manual: https://github.com/alibaba/p3c
  • The Google Java Programming Style Guide: http://www.hawstein.com/posts…