重构计划17年以上的不可测试的德尔福法典

Ric*_*and 7 delphi oop refactoring

你以前都听说过经典的Delphi应用程序.

对于第三方库,我们有150万行代码,可能是我们自己的200,000行(Dev Express,NexusDB等)

一个巨大的数据模块,我已经慢慢分成5(可能需要更多).将一些业务逻辑缓慢地移动到这些数据模块,但肯定是作为模块的方法.

一切都在"按钮下"编码,没有我们自己的类.一些表单有20k行代码.

我需要一个合理的计划才能让它变得更好.现在你无法真正测试它的任何一个,微小的变化可能会引入大量的bug等.

我想,首先,为每个主要表单获取一个单元,并将表单中的业务逻辑提取到此类/单元.像TMyForm这样的东西有一个TMyFormClass.pas,所以TmyForm最终只有UI.继续模块化数据模块,尽快编写测试.只有我们正在努力的重构.

声音健全,另外建议,有人请发给我liqour ....

War*_* P 5

最后,这是一个商业决策,应该这样做.什么能让您的企业获得最大价值.确定并首先重构该区域,您可以证明(证明)对业务的利益至少是高的,即使不是最高可能值.

我相信任何以实施理念(MVC规则!拆分所有东西!)而没有进行商业价值评估的计划,都将是一项很大的浪费.

示例:我的应用程序打印并帮助我将发票邮寄给我的客户.重构应用程序最有价值的领域是我从未能够处理客户优先级并使批处理工作正常.这种改进具有明显的商业价值,重构它将需要我(我估计)10天.在此期间,我还希望将我的数据库访问代码与业务规则分离,并将业务规则与我的UI分离,用于与我的UI 的Priority和Batching元素有关的代码区域,意味着它只能击中我的UI代码的10%,而这种重构努力需要我(我估计)另外10天.这意味着总共20天的努力,代码将能够做一些新的事情.我还打算进行一些单元测试(我的第一次),它将依赖于模拟我的数据库层的能力.