Attacking a Quarter Million Lines of Code

I'm trying to get a little start on the reformulation of the Magic School Bus project and I've run into the 800 lb. Gorilla in the project - the 277,000 line header file with implementations. It's big, and I need to really attack it because it's the client-facing component of the project, and needs to stay completely unchanged as I go through this redesign so that the several hundred applications that use this in The Shop don't have to be retrofitted with the changes.

This doesn't mean I can't make new and improved interfaces and methods, I just can't change the functional behavior or interface that exists now.

So I'm trying to come up with a way that this quarter million line file can be broken up into real headers and real implementations and once class per pair, at that. Then I'll throw it all into a directory in the project, make a shared library out of it, and it'll be far far easier for folks to use.

Doesn't mean that it's going to be easy to do, just that it's not conceptually hard. Just a lot of work.