Refactoring replaces poor coding practices. The goal of refactoring is to keep the functionality of the software the same, but replace the internal architecture with coding that is more easily understood, modified, and maintained.

Maintaining software costs more than development.  Too many cooks stirring the pot over time can yield code that is difficult to understand, or worse modify. To more easily keep up with customer demands, refactoring can take existing code and replace it, piece by piece, with a better solution. 

Nondestructive approach. The goal of refactoring is not a wholesale replacement of the system, but rather a reworking of the internal architecture. After each modification, the system is thoroughly tested to make sure that the outward functionality is identical to before, but the internal functionality is now more stable and modifiable.

Design Patterns -  We use recurring solutions to common problems. We identify key area of coding that can benefit from the separation of interface from implementation, or where common algorithmic steps can be centrally located.

Long-term cost reductions -  Code that is simpler to maintain, costs less to maintain. Adding new features, or modifying existing ones should be relatively straightforward.

© 2005 Extended Family Interactive. All rights reserved