[From "Programming Proverbs" by Henry F. Ledgard]
Proverb 26 of 26.
"This is the last proverb but it is of great importance. I dare not dwell on it too long, because I hope you never have to use it."
"A shattered flower vase is often cheaper to replace than to repair. The same is true of computer programs. Repairing a shredded hulk whose structure has been totally destroyed by patches and deletions or a program with a seriously incorrect algorithm just isn’t worth the time. The best that could result is a long, inefficient, unintelligible program that defies further change. The worst that could result I dare not think of. When you seem hopelessly in trouble, start over. Lessons painfully learned on the old program can be applied to the new one to yield a better program in far less time with far less trouble."
"This last proverb may seem heartless, but don’t let your ego stand in the way. Don’t be afraid to start over. I mean really start over. Scrap the whole thing and begin again."
Comment on the proverb:
Take care though that you don’t mistakenly label a program a "shredded hulk" when it really is just a very complex piece of code that solves a very complex problem. Only time and experience will enable you to make the call whether complexity is real or due to your lack of understanding.