Refactoring: Improving the Design of Existing Code


 My code smells bad. There is no doubt about it. As soon as I read that metaphor my head was nodding with understanding. This book is a classic, and I recommend it to anybody that wants to improve their coding habits and create more flexible applications that don’t make you sad and angry.

 It is a thick volume, but 2/3s of the text is the catalog of refactorings. This makes the text describing the concepts of refactoring a relatively short read. Mr Fowler guides you through the process, providing a simple example and clearly explaining the thought processes involved. The catalog covers a wide range of common approaches to refactoring an application.


  • Peter Bell

    If you think this book is good (and it is), try Josh Kerievsky’s “Refactoring to Patterns”. It shows how to use the approach of refactoring to move your designs towards patterns when appropriate rather than just trying to stuff the entire GoF book into all of your apps upfront. It’s very cool stuff and a great follow on from Fowlers original book.

  • Joel

    Ordered, thanks Peter. That looks like a real solid follow-up.