Refactoring might be thought of as incremental, as opposed to monumental, redesign. "Without refactoring, the design of the program will decay," Fowler writes. "Loss of structure has a cumulative effect.
While thisis hardly an easy task with codebase that has grown out ofcontrol, withoutrefactoringthe onlysolution you can look up to is the completerewrite.