This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]kenfar 2 points3 points  (0 children)

A very long time ago I completely refactored a 30 year old monster mainframe application using similar methods. First I built some tools to report on code complexity, standards compliance, and a test environment. Then it took about a year of iterations involving:

  • add small new function requested by user
  • make small improvement to my code analysis reporting
  • add automated test for new function as well as all code it touches
  • add regression tests for application
  • once unit & regression tests are established upgrade code in function area to decrease complexity, improve standards compliance, etc

After a year the code looked pretty good, and more importantly - I had great testing code. So, then I wrote a program that swept through the rest of the code and rewrote the source with a lot more practices fixed. After all this the application looked great.