相关疑难解决方法(0)

如何/仅使用表单和数据模块重构Delphi程序

经过多年将Delphi程序编码为表单和数据模块中不可测试的代码(包括全局变量),唯一的类是表单本身,包含表单UI本身所需的所有代码.

我如何将代码转换为一组执行实际工作的类?我是否需要停止使用数据源/数据集并在类中执行所有操作?我需要ORM吗?

通常没有必要在表单中重用代码,所以将逻辑转换为类是否有意义?

delphi oop refactoring unit-testing datamodel

20
推荐指数
3
解决办法
2013
查看次数

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

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

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

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

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

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

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

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

delphi oop refactoring

7
推荐指数
1
解决办法
688
查看次数

单元测试Delphi数据模块

如果所有业务逻辑都存在于数据模块(TSQLDataSets和TDataSetProviders)中,您将如何重构代码以使应用程序更适合单元测试?

delphi unit-testing dunit datamodule

5
推荐指数
1
解决办法
1454
查看次数

标签 统计

delphi ×3

oop ×2

refactoring ×2

unit-testing ×2

datamodel ×1

datamodule ×1

dunit ×1