有没有好的工具可以收集Objective-C指标?

11

我正在使用Jenkins进行iOS项目的CI,希望能够收集一些关于项目的软件度量。但是我只能找到CLOC这个只计算代码行数(LOC)的工具,虽然比没有要好一些。

我真正想要计算的是方法、类、调用其他类的次数等(用于复杂度分析等高级功能)。

也许我错过了一些工具,请告诉我。

8个回答

9

OCLint 是一个静态代码分析工具,用于检查 C、C++ 和 Objective-C 代码中的潜在问题,以提高质量并减少缺陷,这些潜在问题包括:

可能存在的错误 - 空的 if/else/try/catch/finally 语句

  • 未使用的代码 - 未使用的本地变量和参数
  • 复杂的代码 - 高圆形复杂度、NPath 复杂度和高 NCSS
  • 冗余的代码 - 冗余的 if 语句和无用的括号
  • 代码异味 - 长 方法和长参数列表
  • 不良实践 - 反转逻辑和 参数重新赋值 ...

  • 1
    OCLint 正在输出:该二进制文件不再由 OCLint 团队维护。请考虑改用 xcpretty(https://github.com/supermarin/xcpretty)! - Cœur
    @Cœur,我也遇到了同样的问题。你有什么进展吗? - Akshay
    @Akshay 我只是使用 Lizard。 - Cœur

    5

    3
    你可以尝试使用XClarify,这是一个相当完整的Objective-C代码分析器,并且对于开源贡献者来说是免费的。 XClarify (点击此处)

    2

    除了代码行数和测试覆盖率之外,我不确定是否已经有针对Obj-C的这些工具。我猜测随着来自其他平台使用指标的开发人员的涌入,我们很快就会看到一些工具,但在我作为Obj-C开发人员的7年中,我没有听说过任何人拥有收集它们的工具。当然,被证明是错误的也是好事 :)


    2

    ProjectCodeMeter 可以度量 Objective-C 代码的流程复杂度(类似于 McCabe 圈复杂度),但它并不计算方法和类。


    我没有看到Mac版本,似乎只有Windows。 - Dan Power

    1

    我使用了一些工具来收集代码质量指标:

    我最近发现了一个SonarQube的免费插件-https://github.com/octo-technology/sonar-objective-c,但它功能不是很丰富。 官方插件在这里:http://www.sonarsource.com/products/plugins/languages/objective-c/

    0

    1
    我刚试了一下。相当基本的统计数据:每个源文件的代码行数、类等。然而,没有圆形复杂度、每个类的方法数或任何更真正有用的统计数据。更令人失望的是,它不能自动遍历子文件夹。虽然文档提到扫描您的项目,但它只能在当前文件夹中的源文件上工作。 - Phil
    那个链接现在已经失效了。 - Carlos Macasaet
    1
    @CarlosMacasaet 是的,看起来是这样。但您仍然可以通过以下方式下载zip存档:http://www.literatureandlatte.com/freestuff/XcodeStatistician.zip - Jens Kohl

    0
    我真正想要计算的是方法、类。
    嗯,你可以解析Xcode索引或者nm命令的输出,或者运行doxygen。
    对其他类的调用等等。 gcov,或者运行doxygen。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接