微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 代码复杂性分析工具超越了循环复杂性

虽然循环复杂度是一个有价值的指标,但我倾向于认为它是识别难以维护代码的差工具.特别地,我倾向于发现它只是突出显示某些类型的代码(例如解析器),并且错过了难以递归,线程和耦合问题以及许多已定义的反模式.

还有哪些其他工具可用于识别有问题的Java代码

请注意,我们已经使用PMD和FindBugs,我认为这是很好的方法级问题识别.

解决方法

我的经验是,查看代码可维护性时最重要的指标是:

>循环复杂性,以识别可能难以理解/修改的大块代码.
>嵌套深度,找到相似的点(高嵌套深度自动高CC,但不一定是相反的方式,所以两者的得分都很重要).
>进/出,更好地了解方法/类之间的关系以及个别方法的实际重要性.

当检查由他人写的代码时,包含动态技术通常是有用的.通过分析器/代码覆盖工具简单地运行常见的使用场景,以发现:

>实际执行的代码(分析器对于这个很好,只是忽略时序信息,而不是看命中计数).
>代码覆盖很好找(几乎)死代码.为了防止您投入时间重构很少被执行的代码.

通常的嫌疑犯,例如任何分析器,代码覆盖率和指标工具通常可以帮助您获取进行这些评估所需的数据.

原文地址:https://www.jb51.cc/java/122958.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐