加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:18:08 所属栏目:Java 来源:网络整理
导读:虽然循环复杂度是一个有价值的指标,但我倾向于认为它是识别难以维护代码的差工具.特别地,我倾向于发现它只是突出显示某些类型的代码(例如解析器),并且错过了难以递归,线程和耦合问题以及许多已定义的反模式. 还有哪些其他工具可用于识别有问题的Java代码?
虽然循环复杂度是一个有价值的指标,但我倾向于认为它是识别难以维护代码的差工具.特别地,我倾向于发现它只是突出显示某些类型的代码(例如解析器),并且错过了难以递归,线程和耦合问题以及许多已定义的反模式.

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

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

解决方法

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读