Quote:
I believe the rational in the program I'm maintaining is that there is common code at the bottom of the loop.

Wow. If this C code, then you could always do this with a macro and avoid the loop. Still, if you've got a long list of things to do, I'd be sorely tempted to have an array of function pointers (or Java objects or whatever) or even an external scripting language. I think I'd go nuts if I was asked to debug that steaming pile. It's almost certainly easier for you to just start over. You'll finish sooner and have a better product. The only question is how you can convince your management of that fact.

For what it's worth, next semester I'm teaching my sophore-level algorithms and software engineering course. The traditional textbook has always been Cormen, Leiserson and Rivest's algorithms bible. I taught all the software engineering bits without any particular textbook, but with references to web sites on things like pair programming and such. This year, I'm adding The Pragmatic Programmer, which gets high reviews on Amazon and is an enjoyable, light read. They don't bring up this particular topic, but they'd probably either recommend writing a program to write your program for you, or to use a scripting language. They certainly pound the podium about don't repeat yourself, which your predecessor seems to have not exactly taken to heart.