In the long run every program becomes rococo—then rubble.
— Alan Perlis
Aprogram’s maintainability refers to how easily the program can be modified. Although code, in contrast to physical artifacts, does not degrade if left alone, programs get modified for a number of reasons: They may get fixed to remove an existing bug, they may be adapted to a new environment, or they may be improved to satisfy new requirements. All these activities fall under the umbrella of maintenance. An interesting and, sadly, perceptive view has maintainability be a limited, nonrenewable resource that application developers endow their code with. As time passes, the accumulating changes make the program less and less maintainable, as they violate the ...