
Software Longevity ◾ 295
10.4 REFACTORING
Refactoring is the internal restructuring of soware that does NOT mod-
ify the soware functionality. In other words, code is altered, but exter-
nally, the system runs in the same manner: a client should be unaware
of any refactorings. Typically, refactoring is undertaken in preparation
for planned or anticipated changes. Since well-designed soware permits
easier, and thus cheaper, integration of new features, refactorings strive to
improve a system’s internal structure.
Soware longevity oen implies degradation of structure, especially
if successive modications have been incrementally incorporated. ...