God grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.
Now that we've identified some of the problems of an evolving codebase, how do we manage the mess? What strategies can we adopt to avoid this?
The first and most important step is to recognize the problem. Too many programmers hack away without thinking about the quality of their code. As long as they silence the users' screams in the shortest time possible, they don't care what state they leave the code in. Someone else can deal with it next time.
Code conscientiously. Good programmers care more about how their code will look after a few years' work than ...