Refactoring by Martin Fowler
Published June 1999
List Price: $59.99, Your Amazon.com Price: $50.99 Addison-Wesley Price: $44.99
Average rating:
Amazon Sales Rank: 2,509
Summary Demonstrates where opportunities for refactoring typically lie, and how to go about reworking a bad design into a good one using elementary steps.
Refactoring is the process of taking badly written code and improving on it, without doing a total rewrite. This book presents an overview of refactoring and the realities of applying it to a project, as well as a comprehensive catalogue of specific refactorings you should look out for in your project.
Fowler manages to pull of his regular semi-formal style which makes the book less of a chore to read; the refactorings are well defined, and he also teaches how describe your own. Case studies are provided appropriately; from the beginning the book applies refactoring to the industry rather than treating it academically. The entire first chapter shows a sample business system and takes the reader through the application of several refactorings.
It goes particularly well with the Gang of Four book on Design Patterns (some of the refactorings actually consist of 'apply pattern X from the GoF book,' though the patterns are usually described well enough that you don't need the GoF book to understand them), and the UML is used throughout so you might want to pick up Fowler's book 'UML Distilled' if you're not already familiar with the language.