................................
Read more about refactoring.
Quote:
http://www-106.ibm.com/developerWorks/library/J-JTP06294.HTML
Of course, the best time to ensure high-quality code is at the moment the code is being written, as this is the time you best understand how it is put together. Plenty of advice can be had (just read this column!) On how to write quality code, but you do not always have the luxury of writing everything from scratch or taking as much time as you'd like to write it. So what do you do in that case? Developers often lobby for rewriting (after all, writing new code is more fun than fixing someone else's, or even our own, buggy code), but that, too, is a luxury, and often simply trades today's known problems for tomorrow's unknown ones. What is needed are better tools for Analyzing and auditing existing codebases to assist development.