You've all heard it before, classic Delphi application.
With 3rd party libraries we're at 1.5 million lines of code, probably 200,000 of our own (Dev Express, NexusDB, etc etc)
One huge Datamodule that I've been slowly splitting into 5 (and likely need more). Moving some business logic to these datamodules slowly but surely as methods of the module.
Everything coded 'under the button', no classes of our own. A few forms have 20k lines of code.
I need a reasonable plan to get this in a better place. Right now you can't really test ANY of it, minor changes could introduce an army of bugs, etc.
I was thinking, to start, get a unit going for each major form and extract business logic in the form to this class/unit. Something like TMyForm has a TMyFormClass.pas so that TmyForm ends up with nothing but UI. Continue to modularize the datamodules, write tests asap. Only refactor where we're working on.
Sound sane, addition suggestions, somebody please send me liqour....