1493167246 Refactoring: Improving the Design of Existing Code - General Programming - Books - Books - GameDev.net

# Game Development Books

## Refactoring: Improving the Design of Existing Code

 Buy it now: Amazon.com Amazon.co.uk Amazon.ca Amazon.de Amazon.fr By Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts Published July 1999 List Price: $64.99, Your Amazon.com Price:$46.38 Amazon.com Sales Rank: 42,143 Availability: Usually ships in 24 hours Summary: Demonstrates where opportunities for refactoring typically lie, and how to go about reworking a bad design into a good one using elementary steps. Similar Books: Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John VlissidesCode Complete: A Practical Handbook of Software Construction, Second Edition by Steve McConnellThe Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David ThomasTest Driven Development: By Example by Kent Beck Buy it now:

## 1 Comments

Jan 25 2004 08:52 PM
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.