2010-05-25 77 views
4

我们试图解开100个单位的毛球,删除一些。显示Delphi 2010或Delphi 7程序的单元依赖关系的工具

如果有工具,它会告诉我们什么单位都明确使用单位X.

Penganza似乎并不有一个报告,做,这将是有益的。 (虽然它有很多其他有用的报告)。

任何人都可以提出一个工具或策略来做到这一点,除了隐藏单元x,然后再次击中F9 ...?

回答

2

Peganza Pascal Analyzer可以做的工作。我没有太多的工作,但这里的一位前开发人员写了一个系统,使用PAL进行分析,然后将结果转储到数据库中,然后有一个浏览器应用程序让您输入单位名称,并返回受影响的单元列表,单元更换时是否需要重建单元,或者界面是否更改。我们使用大量BPL,因此有时您可以更改一个单元,并且不必重新构建使用您的单元的其他二进制文件,除非该界面发生变化。这为我们节省了大量工作(数百个BPL和EXE)。

克里斯

+0

PAL是商业化的,但它非常值得。我们喜欢PAL!他们刚刚发布5.0版我不知道为什么必须包括个人的东西。你可以删除吗? – 2010-05-25 16:04:57

+0

@Warren P和@Chris Thornton。同意。个人的东西编辑出来。 – 2010-05-25 16:42:27

+0

同意个人的东西,但我所做的一点是,我们真的不知道它是如何工作的,并且如果有要求,并没有真正的代码共享。 – 2010-05-25 17:06:17

5

从一个类似的问题here

你可能想看看在 CnPack
CnPack包含一个使用清洁剂 向导,至今还没有失败。

+1

它也是免费的。像GE专家一样。很多人使用CNPack。 – 2010-05-25 16:06:55

6

MMX(型号制造商代码资源管理器)有一个很好的unit dependency analyzer(它是在检测周期特别好)。请参阅this answer

--jeroen

+1

MMX是一个很棒的工具,可以做很多很酷的事情!每个德尔菲用户都应该尝试一下。 – 2010-05-25 16:05:59

+1

如果你应该去模型制作的路线,你应该检查出Lattix。 Modelmaker可以创建Lattix中可用的文件来查看Dependency Structure Matrix。 – 2010-05-26 06:35:04

0

我要提的伊卡洛斯,但是当我用Google搜索他们我this stack overflow answer,你可能想看看。

然后再次,有时我只想删除我的整个单元输出目录,然后计算我的新DCU,并且这也起作用。

您可能喜欢Icarus而不是GExperts的原因是它不依赖于您在项目文件中正确维护使用语句。

1

Headway Software的Structure 101g(和重组101g)可以做到这一点,与Delphi plugin

免责声明:我写了分析德尔福的口味。我专业地使用它们,帮助客户。

0

该领域的新成员是Delphi Plugin for Sonar。它没有列出单元依赖关系,但可以找到未使用的文件和“死”代码(以及更多)。

实现的功能:

  1. 计数的代码,报表,文件的数量
  2. 类计数数,件数,方法行,访问者
  3. 公共API
  4. 计数值(方法,类别和字段)
  5. 计数评论比例,评论行数(包括空行)
  6. CPD(代码重复,多少个l块,以及在多少个文件中)
  7. 代码复杂性(每个方法,类,文件;复杂分布 过的方法,类和文件)
  8. LCOM4和RFC
  9. 代码色
  10. 单元测试报告
  11. 在语法汇编语法
  12. 包含语句
  13. 解析预处理语句
  14. 规则
  15. 代码覆盖率报告
  16. 源代码突出单元测试
  17. “死”码识别
  18. 未使用的文件识别