Clean Code – A Handbook of Agile Software Craftsmanship – Book of the Week
Clean Code is a great book for all of developers to have in their library. Written by Robert C. “Uncle Bob” Martin, this book will help developers write clean code. A better code.
Selected reviews on the book :
When you do code maintenance, you can really “love” or “hate” a person that you do not even know just by the code he or she has written. Messy code almost always goes hand in hand with lower productivity, lower motivation, and a higher number of bugs. In the first chapter, Robert C. Martin presents in a very instructive way, the opinion from very well-known personalities about what “clean code” is, and also suggests we apply the Boy Scout Rule (Leave the campground cleaner that you found it) to our code. The following chapters present practical advice about how to do this cleaning (or even better, how to avoid the mess in the first place).
The suggestions presented in the book (meaningful names, pertinence of comments, code formatting, etc) may sound very familiar to any experienced programmer but they are presented with such a level of detail and with very illustrative examples that it is almost impossible not to learn valuable things chapter by chapter. All the examples are in Java, but the guidelines they illustrate can be applied, in most of the cases, to other languages.
The most challenging chapter to read (but also a very valuable one) was the Refactoring of the class SerialDate (from the JCommon library). It is a real-life example and the author shows step-by-step what it takes to do refactoring. The last chapter, “Smells and Heuristics” makes a very good closure presenting in categories and in a condensed way, potential problems and suggested ways to solve/mitigate them.
I enjoyed reading this book and after finishing it, I decided to apply the Boy Scout Rule. I took a module written in a procedural language and not only managed to improve the clarity of the code, but also reduced the number of lines from more than 1,100 to 650. The next person to touch this code will certainly be happy to deal with cleaner code!
In this book, Bob Martin takes a specific stab at what good code looks like. He provides rules, examples, and even sample transformations.
It is not an easy book. If you are a new developer, you can invest a lot of time and energy into really absorbing the concepts and practicing them yourself. If you are more senior, you may disagree, you may struggle, you may toss the book in a corner and yell at it …
But then you’ll pick it back up again. And you will be a better developer for it.
“Clean Code” focuses on how to write “good” code. Where “good” is defined as being easy for others to read and maintain. It’s not that I disagree with the definition of “good” here. The quotes are because ‘bad” code is easier to identify. Then there is “good” code and really “great” code. The code in this book is what we should aspire to write.
There are three main sections to the book. The first describes principles with examples. I liked this section best including the chapters written by other experts. The third is the actual “smells and heuristics.” While they are good, they were so short they wound up being a summary.
The second section is the case studies. Martin warns up front that this will involve a lot of reading code and cross referencing. I had trouble with flipping back and forth between the chapter, rules and an appendix at the same time. So much flipping was disruptive to my train of thought – even with three bookmarks.
Martin is good about referencing other related titles such as “Implementation Patterns.” If you haven’t yet read “Implementation Patterns”, I recommend starting with that title. It’s easier reading which is helpful when newer to a topic. Also while both books are very good, I liked “Implementation Patterns” better. (see my review on that title for why)
You can visit Web Develover Book Store to get this book and more great handpicked books.