New book in My Library - Refactoring: Improving the Design of Existing Code (2nd Edition) by Martin Fowler

Being a huge fan of refactoring I couldn’t miss 2nd edition of Martin Fowler’s “Refactoring” from my radar. Today this wonderful book took its deserved place on my bookshelf for read books.

https://images-na.ssl-images-amazon.com/images/I/41LBzpPXCOL._SX379_BO1,204,203,200_.jpg

It was announced in the mid of Mar 2018 with 2 main features - less class-oriented and JavaScript as a language for examples. I would say nothing if I say that I was surprised and intrigued. I think Martin did very right decision here - he has decided to show The World how 20-years-old rules still keep doing their great job.

I’m done with this fascinating reading and would be glad to share some feedback and thoughts about this book.

All love clean code, not all know how to get it. “Refactoring” - is a life-and-career-changing book that will show you the way to clean, understandable and extensible code that other developer will thank you for.

First what you will get is very well formed and described motivation for doing refactoring. I’m sure you have asked yourself next questions at least once:

  • “Why clean code is not a problem for performance and what’s role of refactoring in it?”
  • “How can I make refactoring without being blamed by my colleagues for broken code?
  • And #1 “How to explain refactoring to my manager?”

All the answers are just on the first pages.

Next thing that Martin will gift you is “Smells Catalog”. You will get very well grounded explanation of “bad code”. It’s import to know thing cause you need to know where and when you should apply refactoring and even more important - when it’s time to stop.

Rest of the book will will give dozens of refactoring etudes as a parts of “Refactorings Catalog”. You will know some good ways to structure your logic and data using inheritance, composition and just common sense. I would recommend to put SUPER huge attention on “mechanics” sections. The trick is that if you will get the idea of how Martin does it - you will never have your code broken, all the mechanics is targeted to always have working version. Now, the beauty of “always working code” is that it drastically decrease the level of stress when you do refactoring (proven lots of times on own experience).

Don’t think twice if you have not yet read it. Don’t think twice even if you have read 1st edition - you will find bunch of interesting changes.