软件工程-环路复杂度

环路复杂度用来定量度量程序的逻辑复杂度。以McCabe方法来表示。

计算公式

1:V(G)=闭合区域的数目,由节点和边围成的封闭区域。这些封闭区域一定是不可再分的,包括周边的区域。

2:V(G)=二值判定节点个数+1

3:V(G)=边的数目-节点个数+2

环路复杂度越高,程序中的控制路径越复杂。

mccabe指出,典型的程序模块的环路复杂度为10。

名次解释:

1、节点:以标有编号的圆圈表示,表示基本的程序块,可以是一个单独的语句,也可以是多个顺序执行的语句块。
2、控制流(边):用带箭头的弧线表示,连接相关的两个节点。每个控制流可以标有名字(也可以不标),但必须终止于某一节点。

3、判定节点:带有分支的节点,其中程序中的复合条件要分解为简单条件,构成多个判定节点。
4、区域:控制流图中的一个概念,一个区域由一组节点以及相关连接节点的边(控制流)所共同构成。当对区域计数时,图形外的区域也应记为一个区域。

本文作者 LCHNAN
本文链接 https://blog.lchnan.cn/archives/161
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇