Refactoring in the Large
Refactoring in the Large
Submitted by webmaster@testdriven.com (Links) on Wed, 29/12/2004 - 17:07.Most large refactorings can easily be composed out of smaller refactorings. And yet, performing large refactorings is different from performing smaller ones. Why? A first reason is the number of lines of code involved in the refactoring. Because of this increase in lines we can't pay as much attention to each of the individual steps as we would for smaller refactorings.
Inevitably, some issues (we'll call these design defects) are overlooked on the outset of a large refactoring. During the refactoring these defects manifest themselves in the form of tricky complications that slow down the ongoing refactoring effort.
Naive attempts to resolve such defects in an ad hoc basis often fail. Trying to approach the problems issue by issue we find ourselves trapped in a deep recursion of refactorings. Each step seems to reveal more design defects. It's easy to get lost in such a situation so rather than digging all our way downward we need a more strategic approach.
Author: Sven Gorts
Draft version
Inevitably, some issues (we'll call these design defects) are overlooked on the outset of a large refactoring. During the refactoring these defects manifest themselves in the form of tricky complications that slow down the ongoing refactoring effort.
Naive attempts to resolve such defects in an ad hoc basis often fail. Trying to approach the problems issue by issue we find ourselves trapped in a deep recursion of refactorings. Each step seems to reveal more design defects. It's easy to get lost in such a situation so rather than digging all our way downward we need a more strategic approach.
Author: Sven Gorts
Draft version
