1

我想知道如何在 Pascal 中组织源文件树。从 FPC 的语言参考指南来看,程序和单元似乎必须完全包含在单个文件中(除非${INCLUDE}使用该指令)。

我可以想到几种组织程序的方法:

  • 将所有内容都放在一个大文件中(真的不喜欢那样),
  • 写几个大的单元文件,
  • 编写许多小单元文件(可能会变成依赖项的意大利面),
  • 编写几个大单元,但使用将它们拆分为文件${INCLUDE}

使用${INCLUDE}对我来说似乎有点像黑客,因为适当的模块系统应该使它变得不必要。另一方面,我担心单文件模块会变得大到笨重。

这在实际项目中通常是如何完成的?有什么我错过的选择吗?

4

2 回答 2

2

绝对不需要使用单个文件,{$INCLUDE}除非您有特定需要,否则也不需要使用。

我有几个 Delphi 项目,它们有 100 多个独立的代码单元,根据需要在需要它们的适当uses子句(interfaceimplementation部分)中添加。您也可以在 FPC 源代码中看到这种模式:

unit One;

interface
  uses System;

type
  TSomeThing=class(TBaseThing)
  ...
  public
  ...
  private
  ...
  end;

implementation

uses
  Math;

....

将您的源代码分解为逻辑单元(例如,相互关联的类的单元、相互关联或依赖的类型、功能单元等)。在 FP 中有很多这样做的例子(它们遵循与 Delphi 的 VCL/RTL 相同的模式)来了解这通常是如何完成的。

于 2012-10-31T16:32:21.713 回答
0

如果您正确地设计您的应用程序,那么每个 UNIT 都应该有一个合理的大小并且有一个明确定义的用途。依赖关系应该在某种程度上是分层的,如果您的应用程序足够大以保证它,您总是可以将任意数量的密切相关的 UNIT 分组到一个库中。

于 2012-10-31T15:18:19.727 回答