【发布时间】:2010-01-14 09:00:40
【问题描述】:
我正在做一个项目,该项目需要我找出 Apache ant 的圈复杂度(版本 1.1 到 1.6)。我被要求为此目的使用 jar 文件。我使用了几个工具(Xdepend 试用版和 Cyvis)来查看结果。然后我尝试使用 Ant Ver1.6 源代码的结果来验证结果。为了分析源代码,我使用了 Netbeans 插件,还手动找到了一些方法的 CC。
我发现在很多情况下 jar 文件中的 CC 几乎相同,但在某些情况下存在很大差异。我检查了一种这样的方法,我发现它包含很少的 try 和 catch 块。我的问题是:
- java 编译器是否执行优化(比如循环展开),这可能主要影响 CC 值?是否建议使用 jar 文件进行此类分析?
- try 和 catch 块是否存在一些具体问题,在这种情况下我可以考虑其他方法进行分析?
- 有没有更好(更准确)的工具来进行此类分析?
请分享您在此主题上的经验。提前致谢。
干杯
【问题讨论】:
-
我建议你使用源文件并在它们上运行kclee.de/clemens/java/javancss。它更简单。
标签: java cyclomatic-complexity