【问题标题】:Tool that shows unit dependencies for Delphi 2010 or Delphi 7 program显示 Delphi 2010 或 Delphi 7 程序的单元依赖关系的工具
【发布时间】:2010-05-25 11:10:41
【问题描述】:

我们正试图解开一个由 100 个单位组成的毛球,并移除一些。

如果有工具可以告诉我们哪些单位明确使用了单位 X,那将会很有帮助。

Penganza 似乎没有这样的报告。 (虽然它还有很多其他有用的报告。)

除了隐藏单元 x 然后反复按 F9 ...之外,任何人都可以提出一种工具或策略吗?

【问题讨论】:

    标签: delphi refactoring coding-style


    【解决方案1】:

    MMX(Model Maker Code Explorer)有一个不错的unit dependency analyzer(它特别擅长检测周期)。

    更多详情请见this answer

    --杰罗恩

    【讨论】:

    • MMX 是一个很棒的工具,可以做很多很酷的事情!每个 delphi 用户都应该尝试一下。
    • 如果你应该走 Model Maker 路线,你应该看看 Lattix。 Modelmaker 可以创建可在 Lattix 中使用的文件来查看依赖结构矩阵。
    【解决方案2】:

    来自类似问题here

    你可能想看看 CnPack.
    CnPack 包含一个 Uses 清洁器 巫师还没有让我失望。

    【讨论】:

    • 而且它也是免费的。像 GExperts。很多人使用 CNPack。
    【解决方案3】:

    【讨论】:

      【解决方案4】:

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

      克里斯

      【讨论】:

      • PAL 是商业的,但很值得。我们爱这里的朋友!他们刚刚发布了 5.0 版,我不确定为什么必须包含个人内容。你能把它删掉吗?
      • @Warren P 和@Chris Thornton。同意。个人资料已编辑。
      • 同意个人的东西,但我想说的是,我们真的不知道它是如何工作的,如果需要的话,也没有代码可以分享。
      • 它是如何工作的?为现有的 Delphi 项目构建依赖关系树不太直观。
      【解决方案5】:

      Headway Software 的 Structure 101g(和 Restructure 101g)可以通过 Delphi plugin 很好地做到这一点。

      免责声明:我编写了各种口味来分析 Delphi。我专业地使用它们,帮助客户。

      【讨论】:

        【解决方案6】:

        我们刚刚发布了一个免费软件实用程序,它可以完全满足您的需求,而且还提供更多功能。它被称为 Delphi Unit Dependency Scanner (DUD),您可以在此处下载:http://www.easy-ip.net/delphi-unit-dependency-scanner.html

        抱歉来晚了!

        【讨论】:

          【解决方案7】:

          我本来打算提到 Icarus,但当我用 Google 搜索时,我得到了 this stack overflow answer,您可能想查看一下。

          再一次,有时我只是想删除我的整个单元输出目录,然后计算我的新 DCU,这也可以。

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

          【讨论】:

            【解决方案8】:

            这个领域的新人是Delphi Plugin for Sonar。它不会列出单元依赖项,但可以找到未使用的文件和“死”代码(以及更多)。

            实现的功能:

            1. 计算代码行数、语句数、文件数
            2. 计算类数、包数、方法数、访问器数
            3. 统计公共 API(方法、类和字段)的数量
            4. 计算 cmets 比率、注释行(包括空行)
            5. CPD(代码重复、行数、块和文件数)
            6. 代码复杂度(每个方法、类、文件;复杂度分布 方法、类和文件)
            7. LCOM4 和 RFC
            8. 代码着色
            9. 单元测试报告
            10. 语法中的汇编语法
            11. 包含语句
            12. 解析预处理器语句
            13. 规则
            14. 代码覆盖率报告
            15. 单元测试的源代码高亮显示
            16. “死”代码识别
            17. 未使用文件识别

            【讨论】:

              猜你喜欢
              • 2011-03-05
              • 1970-01-01
              • 2012-03-04
              • 1970-01-01
              • 1970-01-01
              • 2013-07-06
              • 1970-01-01
              • 2011-09-10
              • 1970-01-01
              相关资源
              最近更新 更多