Book Review: Clean Code
This is another post in my book reviews series. I finished reading Clean Code a few days ago and loved it. It makes me feel good, seeing my decision to wear the Clean Code wristband a few months ago was a smart one.
After I finished it, I felt a bit weird writing a blog post about it, because, just like the previous books I’ve blogged about, I found this book simply awesome. Then I thought about the fact it’s simply because I’m reading those books that show up enough in other contexts that I upped them in my reading queue enough to get on top.
The book is about practical, low level details of writing good code. There are chapters about comments, naming, functions, you name it. In a way, it reminds me of Code Complete, other than the fact you can see it’s oriented for more practiced developers.
Like in his Agile Software Development book, Uncle Bob made sure to fill this one with code. Actually, this book has a lot more code. There are many examples of code still being worked on. It actually fills the gap I’ve felt in Agile Software Development of seeing the actual coding steps, test by test. The last chapter shows a really thorough (and actually quite mesmerizing) example of refactoring, with each change explained beforehand, including tests and alternatives considered.
In Agile Software Development, there were a few co-authored chapters. In Clean Code Uncle Bob took this a step further. Almost every chapter was written by a different author, each of very big caliber in the Agile and Software Craftsmanship world. This really resonated with me, because it’s kind of a “many in one” deal, and because I could actually hear a different tone in each chapter, and yet all were in harmony with the motive of clean code.
I think this is truly a masterpiece, and after reading, would recommend it to be read before Agile Software Development. Due to its greater technicality and the fact it’s quite new, it makes a really good read for developers, and it will have an effect on your coding a few pages in (pages! not even chapters).
The only thing that bothered me was that in the last chapter (which is also the best) I had to, as the introduction warned me, flip back and forth quite a bit, which was a bit hard at first since I’m not used to reading code on paper. I’d really love seeing some interactive version of this, but regardless of that, the book is really good.
I can’t recommend enough this concentrated piece of wisdom and experience.
Stay tuned, a review of Apprenticeship Patterns is nigh.
You should subscribe to my feed and follow me on twitter.
Tags: books, Programming, software craftsmanship

i just started reading it this week after you twitted about (thank you google buzz… for the first time, i guess
) – any – i love it! i’m only at the first chapter, but it is very insightful and practical.
Try writing an Uncle Bob’s chronology for newbies. The order by which to read the books for people that are interested in beginning to read to them
I am actually in the process of reading it myself and I must say that I agree with how you feel about it! I really did feel its affect on me right from the start and I just can’t wait to finish it and start using all of the great information I have learned from this book..
It really is a MUST for every coder out there!
This book is full of bad advice. As I’m reading it I keep nodding in disagreement. Annoyingly, I recognize each and every bad practice the book recommends in the code I’m maintaining. Its author obviously read this book and followed it to the letter. The code is a maze of tiny functions with silly names and no comments. I sometimes find myself refactoring code from “Uncle Bob-ese” to readable, maintainable code.
Uri, you just made me feel better for not working with you on the same code