I am finally done , reading this book ”Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin.
It was an excellent read.
I think it has changed the way I will look at software development in future…
It’s a collection of very practical advice- difficult to argue. Most of the stuff is what you have realized at some point or other while programming. reading it in the print- gives words to those thoughts
The projects in this book – I skipped. I am sure they are good and effective way of putting this in practice- but I would rather read the code that I have written and look for smells there.
There were only two things that I didn’t agree with
One: On TDD. I cant reconcile to the way of programming the way as prescribed by TDD. Its way too much for me
Second: Importing java classes by using * rather than importing classes by specific names
I like to use specific class names- it keeps the dependencies well defined rather than keep them generic. It also makes it easier to search for dependencies by using plain search rather than using IDE.
And with all these fancy editors- its so easy to collapse the imports and remove the ones which are not needed
And if need be – you can clearly see what is is the dependency network (without running a heart-stopping dependency search on your IDE)
Finally- I am not sure why the book has Agile in the title
All advice was practical and mostly from the trenches- right at the code level.
I see no reason why the suggestions in this book cant be adopted by someone using Waterfall methodology or any other process.
I did skip some chapters though- 14,15,16. These were detailed case studies and I didn’t feel the need to read them. Reading lines of code in books doesn’t cut it for me
Who would I recommend this book to ?
Any one who is a coder.
Though I am not sure if someone who is still in school would be able to appreciate this as much
You need to have seen the blood on the streets to be able to appreciate the walk around the park.
For review of all chapters- please see this post.