【问题标题】:Are there any tools for visualizing code complexity or graphing method calls in Objective-C? [closed]是否有任何工具可以可视化代码复杂性或在 Objective-C 中绘制方法调用? [关闭]
【发布时间】:2011-09-19 16:48:48
【问题描述】:

我希望展示代码库的可视化,它可以显示过于复杂和相互交织的区域。

我知道 clang 是什么,但我不确定在这种情况下它是否能满足我的需求。

【问题讨论】:

    标签: objective-c clang cyclomatic-complexity


    【解决方案1】:

    AnalysisTool:我知道它是一个 clang 包装器,但它也提供了依赖关系图。

    AnalysisTool 最初的创建有两个主要目的:提供易于使用的 Clang 静态分析器可执行二进制文件,以及通过提供一些额外的检查来自定义 Clang。当 Clang 静态分析器处于早期阶段时,开发人员尝试它的唯一选择是检查 LLVM 和 Clang 的最新源代码,编译它,然后从命令行使用分析器。 AnalysisTool 提供了一个易于使用的 GUI 界面,并且无需触摸 Clang 源代码。它还提供自动更新,让AT的用户可以随时使用最新的Clang静态分析器。

    lizard:

    此工具将计算 C/C++/Objective C 代码的圈复杂度,而无需关心头文件和预处理器。因此,该工具实际上是计算代码“看起来”的复杂程度,而不是代码的“复杂程度”。

    人们会需要这个工具,因为通常很难获得所有 使用类似的工具包含文件夹和文件,但我们没有 在圈复杂度方面确实需要这种准确性。

    这是我知道的仅有的两个工具,希望对您有所帮助。

    【讨论】:

    • AnalysisTool 的链接好像坏了?是不是和这个一样clang-analyzer.llvm.org
    • @ramo,我已将链接替换为存档链接。 AnalysisTool 似乎是一个 GUI 包装器。
    • hfcca 现在好像叫lizard
    【解决方案2】:

    我们的Source Code Search Engine 提供了搜索多种语言的大量源代码的能力,使用每种语言的代码结构来指导搜索并最大限度地减少误报匹配。

    作为其索引过程的副作用,它计算文件的各种复杂性指标(Halstead、McCabe)并将其写入 XML 文件,您可以按照自己喜欢的方式处理/显示。

    它有 C 和 C++ 的语言前端;他们中的任何一个都应该能够很好地处理目标 C,以便 SCSE 操作员,并且为了 OP 的目的,计算这样的复杂性指标。 可下载版本包含 C 前端。

    2019 年 6 月编辑:它现在有一个 Objective C 前端。

    【讨论】:

      猜你喜欢
      • 2013-06-18
      • 2011-01-28
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多