Clean code is one of those books you wish every developer on your team had a chance to read at least once. It not only emphasises the importance of clean code, but it provides reasoning and clear examples for every point made. The book starts off at a rather low level, discussing small segments of code covering naming of variables and methods, keeping methods short, commenting etc. gradually moving outwards to larger segments such as class design, before moving on to the more abstract principles such as SRP, DRY (and other principles that form the SOLID principles of OOD).
The book flows quite well, however I started to lose interest towards the final chapters (JUnit Internals, Refactoring Serial Date) before being pulled back in by Smells and Heuristics.
When reading the book, some advice must be taken with a grain of salt, as sections such as Interface naming and implementation differ to the general standard used in .NET, and you may not quite agree with everything you read.
These points aside. The book provides excellent examples and justification for every point made. It is a must read for every developer. After all, nothing is more frustrating (and costly!) than working with a mountain of messy, unorganised code.
Rating: 4/5 (Great!)