摘要:代码的环复杂度,有的地方又翻译成圈复杂度是一种代码复杂度的衡量标准,在年由提出。圈复杂度大说明程序代码可能质量低且难于测试和维护。
代码的环复杂度(Cyclomatic complexity,有的地方又翻译成圈复杂度)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出。
在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护。
计算公式环复杂度 = E − N + 2
E = 程序控制流图中边的个数
N = 程序控制流图中点的个数
看个具体的例子。下面这段ABAP代码的环复杂度根据公式计算为3.
DATA: lv_value TYPE i VALUE 1. IF lv_value = 1. WRITE: / "always happend". ELSEIF lv_value = 2. WRITE: / "not possible". ELSE. WRITE: / "even not possible". ENDIF.
先把代码的程序流图画出来:
在ABAP里用Code inspector这个工具测量代码的环复杂度:
具体步骤参考我的ABAP博客:
A Small tip to get all transparent tables used in ABAP code
Useful tips regarding ABAP code inspector that you may not know
而Java可以用一个叫做SourceMonitor的工具测量环复杂度:
详细使用参考我的博客Use SourceMonitor to monitor your java code complexity
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68973.html
摘要:代码的环复杂度,有时也翻译成圈复杂度是一种代码复杂度的衡量标准,在年由提出。好消息是,有一款名为的免费软件,能够帮我们来度量代码的环复杂度。很快就将我们指定的文件的环复杂度计算完毕。 代码的环复杂度(Cyclomatic complexity,有时也翻译成圈复杂度)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出。 来看看计算公式。 代码环复杂...
摘要:本文属于系列三当中的一篇。编码实现在下面的类当中,关键点是定义了一个字段,用来记录当前与其它之间的关联关系。第二点,修改方法,记录之间的关联关系。注意,这里抛出异常下面的类的方法的复杂度是。第二点,代码示例,如何使用实现计算。 本文属于Java ASM系列三:Tree API当中的一篇。1. Cyclomati...
摘要:天生缺乏逻辑性的问题导致了预处理器的出现。这会导致圈复杂度问题。圈复杂度对于来说可能是一种比较高阶的原则,但如果我们通过它来考量那些蕴含在我们写的选择器中的逻辑性,那我们也许就能写出更加优秀的代码。 本文在征得原作者 @csswizardry 同意的情况下,翻译自他博客中的文章:Cyclomatic Complexity: Logic in CSS。最初发布于我的个人博客:咀嚼之...
摘要:原文来自如果说你想知道一个项目的代码复杂度是什么样子的,我推荐你可以使用和来检测一下。安装也是可以直接全局安装安装完毕之后,可以这样来运行命令分析代码复杂度等待运行结束,用打开就可以查看相对应的结果,大概是这个样子 原文来自:https://www.codecasts.com/blo... 如果说你想知道一个 PHP 项目的代码复杂度是什么样子的,我推荐你可以使用 phploc 和 P...
阅读 875·2023-04-26 01:37
阅读 3338·2021-09-02 15:40
阅读 909·2021-09-01 10:29
阅读 2869·2019-08-29 17:05
阅读 3392·2019-08-28 18:02
阅读 1165·2019-08-28 18:00
阅读 1471·2019-08-26 11:00
阅读 2579·2019-08-26 10:27