使用可重用代码的最佳方法是什么?

6 delphi maintenance code-organization

更常见的是,您可能会遇到可能需要函数或过程的情况,您可能之前已经编写过此代码.

我的问题是你如何组织它,所以你不必重写所有内容,换句话说,维护可恢复代码的最佳方法是什么?

我正在考虑将所有程序和功能放在一个单元中,并将此单元添加到所需表单的Uses子句中.

但是这个单元会变得相当大,因此使用一个大单元中的一个或两个函数会给应用程序增加不必要的批量大小.

我基本上要问的是,对于性能和方便性,管理,维护和使用可重用代码的最佳方法是什么?

UPDATE

在一些信息性的帖子之后,我决定继续使用一个包含所有可重用例程的单一源代码单元.我已经使用Delphi代码编辑器的代码折叠来创建自定义区域,将不同类型分成组,井区域.所有区域都将折叠,并具有有意义的区域名称.我已将单个源单元添加到库路径,我可以将其添加到任何表单的uses子句,并可以访问所有可重用的例程.请参阅屏幕截图以获得更好的主意:

截图

需要添加更多例程.这些区域有助于保持代码的有序性和易于阅读,如果需要,我可以扩展.

谢谢.

Mar*_*ema 10

而不是一个单位,使用具有多个单位的文件夹.

根据主题组织单位,努力保持高凝聚力,低耦合.换句话说:单元应该包含密切相关的函数和过程,并尽可能少地使用其他单元(当然可以自由使用vcl/rtl).

如果你需要灵感来自你可以拥有什么样的单位:我会从VCL和RTL中拿出一片叶子.单元的组织方式以及放在一起的东西与自己单元的组合方式可以让您清楚地了解如何组织自己的东西.

  • @cosmin更好地包含在项目中并使用版本控制而不是IDE路径 (2认同)

NGL*_*GLN 6

首先,您假设大单元导致大型可执行文件是错误的.只有已使用的部分才会链接到最终的可执行文件中

将可重复使用的例程放在一个或多个单独的单元中是常见的做法.您在何种程度上将其标准化取决于您自己的程序或强加的规则(例如由您的公司).

就个人而言,我喜欢为Delphi这样的单位命名:AwControls,AwUtils,AwDB,AwForms,AwMenus用于那些扩展默认VCL或包含新组件或派生组件的例程和类.但我也为相当大的组件或不常见的例程或类,如AwPlanGrid,AwDxf,AwIpTypes创建单独的单元.只是一个建议.

另一个提示:将包含这些单元的文件夹添加到默认项目搜索路径(在IDE中未加载任何项目时设置项目选项).

  • 大型单元中的所有代码都会被编译,但只有已使用的部分才会链接到最终的exe中. (3认同)