Chapter 29. Refactoring
The practice of Refactoring code changes the structure (the design) of the code while maintaining its behavior. The relationship of Refactoring to other practices can be seen in Figure 29-1.
Figure 29-1. Refactoring depends on collective code ownership and automated developer tests to work well. Collective code ownership is needed because refactoring frequently affects other parts of the system. Automated developer tests are needed to verify that the behavior of the system has not changed after the design change introduced by the refactoring.
Refactoring increases flexibility and the product lifetime by ...