我们正在从D7迁移到D2010,并且正在就清理项目路径进行辩论。我们有许多目录,其中包含大量Pas文件,这些目录包含在某些项目路径中,但实际上只有少数文件被任何单个项目使用。
一种选择是完全消除项目路径,并且只在dpr中使用所有文件。
第二个选项是只保留dpr中所需的文件,并将项目路径保存到其余文件的目录中。
一个选项对另一个选项有争议吗?
答案 0 :(得分:9)
在dpr中明确显示所有单元可以极大地改善编译时间,代码完成,错误洞察和一般导航。
它不会阻止您将文件保存在文件夹和子文件夹中,而只是不依赖于不同的路径来查找它们。
在一个拥有数百万LOC的大项目中,它会产生巨大的差异。
答案 1 :(得分:9)
我赞成将“库单元”与“项目单元”分开,并将所有“库单元”保留在搜索路径中,项目文件中包含所有“项目单元”。原因如下:
作为参考,我的“库单位”是在不相关的项目中使用的那些单位(想想:组件和实用程序)。
答案 2 :(得分:3)
我认为支持包含项目本身在项目中使用的所有文件。这将通过确保使用的单元是项目的一部分来提高“见解”的性能。此外,这将使您能够更轻松地在项目管理器中管理您的代码。拥有大型复杂路径是脆弱的,很难管理。
答案 3 :(得分:2)
关于加速洞察的评论让我很感兴趣,我会尝试一下,但到目前为止,我从未在使用它们的项目中包含共享单元。相反,我为每个库创建了包并将它们添加到项目组中(主要仅用于组织目的,即我从未将它们实际编译为运行时包)。我发现这更容易管理(特别是项目管理器中的所有最新改进),而不是将所有文件放在一个项目中,因为单个(包)项目中的文件夹层次结构不会那么深,特别是没有“... “那么平坦。
答案 4 :(得分:1)
不包含项目中所有文件的原因:
uses MyInterfaces, MyTypes, MymMainUnit;
)这个QC条目:
报告编号:77687(RAID:273031)
状态:在.dpr中打开编辑 随着更多单位的来源变慢 该项目 http://qc.embarcadero.com/wc/qcmain.aspx?d=77687
更新:现在我知道有很多方法可以打开项目文件:) - 但我的观点是,在一个有500个单位引用的dpr中,很难找到“重要”(或“主要”)单位,这是深入研究源代码的起点 - 如果代码是一个只包含必要单元引用的“轻量级”项目文件,则更容易调查代码。