【发布时间】:2023-03-27 10:13:01
【问题描述】:
我在 iOS 项目中使用 Jenkins 进行 CI,并希望收集一些关于它们的软件指标。但我能找到的唯一工具是 CLOC,它只计算代码行 (LOC)。不过有总比没有好。
我真正想要计算的是方法、类、对其他类的调用等(做花哨的圈复杂度的东西)。
也许我遗漏了一些工具,如果我有,请告诉我。
【问题讨论】:
标签: objective-c ios metrics code-metrics
我在 iOS 项目中使用 Jenkins 进行 CI,并希望收集一些关于它们的软件指标。但我能找到的唯一工具是 CLOC,它只计算代码行 (LOC)。不过有总比没有好。
我真正想要计算的是方法、类、对其他类的调用等(做花哨的圈复杂度的东西)。
也许我遗漏了一些工具,如果我有,请告诉我。
【问题讨论】:
标签: objective-c ios metrics code-metrics
来自 oclint.org:
OCLint 是一个静态代码分析工具,用于提高质量和 通过检查 C、C++ 和 Objective-C 代码并查看来减少缺陷 对于潜在的问题,例如:
- 可能的错误 - 空 if/else/try/catch/finally 语句
- 未使用的代码 未使用的局部变量和参数
- 复杂的代码 - 高圈复杂度、NPath 复杂度和高 NCSS
- 冗余代码 - 多余的 if 语句和无用的括号
- 代码气味 - 长 方法和长参数列表
- 不良做法 - 反转逻辑和 参数重新分配...
【讨论】:
蜥蜴会这样做。查看https://github.com/terryyin/lizard。
【讨论】:
你可以试试XClarify,一个相当完整的objective-c代码分析器,open source contributors是免费的。
【讨论】:
除了代码行数和测试覆盖率之外,我还不确定是否有任何用于 Obj-C 的此类工具。我怀疑我们很快就会看到一些使用指标的其他平台的开发人员涌入,但在我作为 Obj-C 开发人员的 7 年中,我还没有听说有人有收集它们的工具。当然,被证明是错误的会很好:)
【讨论】:
ProjectCodeMeter 在 Objective-C 代码上测量流复杂度(类似于 McCabe 圈复杂度),但它不计算方法和类。..
【讨论】:
我使用很少的工具来收集代码质量指标:
我最近发现它存在 SonarQube 的免费插件 - https://github.com/octo-technology/sonar-objective-c,但它的功能并不丰富。官方在这里:http://www.sonarsource.com/products/plugins/languages/objective-c/
【讨论】:
我真正要数的是方法、类
nnnot rrreallly.... 你可以解析 xcode 索引或nm 的输出——或者运行 doxygen。
调用其他类等
gcov -- 或者运行 doxygen
【讨论】:
我只是偶然发现了Xcode Statistician (链接似乎已失效),但还没有尝试过。 zip archive可以直接下载。
【讨论】: