zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【idea系列】插件之MetricsReloaded

IDEA插件 系列
2023-09-27 14:29:25 时间

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

img

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝

✨✨ 欢迎订阅本专栏 ✨✨

一.简介与功能

1.介绍

IDEA 圈复杂度插件(MetricsReload)是一个用于 IntelliJ IDEA 的代码分析工具,它可以帮助开发者检测代码中的圈复杂度。 圈复杂度是一种用于衡量代码复杂度的指标,它可以测量代码中的条件分支数量和循环嵌套深度。圈复杂度越高,代码就越难以理解和维护。

MetricsReload 插件可以在 IntelliJ IDEA 中自动计算每个方法的圈复杂度,并将结果显示在代码编辑器的行号旁边。开发者可以通过点击行号来查看圈复杂度的详细信息,包括圈复杂度的具体计算方法、每个条件分支的权重和圈复杂度的建议阈值等。 MetricsReload 插件还提供了一些其他的代码分析功能,例如代码块的复杂度分析、方法的调用图分析和代码质量评估等。开发者可以使用这些功能来评估和改进自己的代码质量。

总之,IDEA 圈复杂度插件(MetricsReload)是一个强大的工具,可以帮助开发者发现和改进代码中的复杂度问题,提高代码的可读性和可维护性。

2.功能

MetricsReload 插件还支持以下特性:

  1. 自定义配置:开发者可以自定义插件的配置,包括圈复杂度的权重设置、阈值设置和忽略规则设置等。
  2. 代码高亮:插件可以在代码编辑器中使用不同的颜色来标识圈复杂度较高的代码块,从而帮助开发者更快地定位问题代码。
  3. 报告生成:插件可以生成圈复杂度报告,报告包括每个方法的圈复杂度值和代码行数等信息,开发者可以使用报告来评估和改进代码质量。
  4. 快捷键:插件提供了一些常用的快捷键,例如快速切换圈复杂度和代码高亮显示等。
  5. 支持多种编程语言:插件不仅支持 Java,还支持其他编程语言,例如 Kotlin 和 Scala。

总的来说,MetricsReload 插件是一款非常实用的 IntelliJ IDEA 插件,可以帮助开发者发现和解决代码中的复杂度问题,提高代码质量和可维护性。

二.使用

1.值说明

  • 从 1 开始,一直往下通过程序
  • 一但遇到以下关键字,或者其它同类的词,就加 1:if,while,repeat,for,and,or
  • 给 case 语句中的每一种情况都加 1

2.使用

下载 MetricsReload 插件

image-20230407090744482

使用:右键 - Analyze - Calculate Metrics

在这里插入图片描述

选择要分析的文件,选Complexity metrics

image-20230407090858507

分析结果

image-20230407090915044

三.结果说明

  • ev(G) 基本复杂度是用来衡量程序非结构化程度的,非结构成分降低了程序的质量,增加了代码的维护难度,使程序难于理解。因此,基本复杂度高意味着非结构化程度高,难以模块化和维护。实际上,消除了一个错误有时会引起其他的错误。

  • iv(G) 模块设计复杂度是用来衡量模块判定结构,即模块和其他模块的调用关系。软件模块设计复杂度高意味模块耦合度高,这将导致模块难于隔离、维护和复用。模块设计复杂度是从模块流程图中移去那些不包含调用子模块的判定和循环结构后得出的圈复杂度,因此模块设计复杂度不能大于圈复杂度,通常是远小于圈复杂度。

  • v(G) 是用来衡量一个模块判定结构的复杂程度,数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,经验表明,程序的可能错误和高的圈复杂度有着很大关系。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
img