Top 5 Books Each Programmer Must Read During His Entire Life. Part 3

Martin Fowler is credited with a quote: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand ”.

Today almost every book that contains material on code developing and controlling has a reference to M. Fowler’s “Refactoring”. Despite its size of over 400 pages, the book is a real page turner. The main reason of its popularity is the quality, practical orientation, and applicability. Each main information block begins with an example and aimed on improving the code given in it. The only issue for an unprepared reader is that the book contains many philosophical quotes. However, as odd as it sounds, they are all aimed on practical use.

The refactoring process itself is presented not as something abstract or as simple change of names of variables and functions, but as a process of step-by-step improvement of code and software’s internal structure, making it easier to understand the operating principles and modify the code, not changing its purpose.

The book gives answers to such questions as when to change the code, which code needs to be changed, and how to perform such change.

All examples and proposed solutions include large code blocks and particular methods, classes, method parameter sets, repeated sections and “bottlenecks” where objective-oriented programming principles are violated.

We should particularly mention that there is a whole paragraph dedicated to test driven development (TDD), creation of automated tests, and description of particular testing environments.

It can also be underlined, that specialists who read the “Refactoring” often change their approach to coding, becoming more literate, accurate and concentrated on what they are doing.

Next Part of this Series of Articles will tell you a bit more about the fourth book in our Top 5 — “Clean Code” by Robert C. Martin. Stay with us!



Professional Web and Mobile Development. Website:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store