【发布时间】:2014-06-25 11:32:53
【问题描述】:
我被教导要像这样计算圈复杂度site does 但是最近我发现这个东西说 Cyclomatic Complexity = ( 1 + ifs + loops + cases )。他们是一样的吗?我读到的东西适合每种情况吗?正如我想知道它是否会错过某些东西或在计算时不考虑某些东西?据我了解,这看起来不错,但与绘制所有内容相比感觉有点简单。
如果我有一个循环,例如
while (a==b && c>d) {
}
我会说那里有 1 个循环 (comp = 1 loop+1) 还是说有 3 个 (1 loop +1 test+1 test+1) 由于 while a==b 和 c> d 测试零件。 和刚才说的相比如何
while(a>b) {
}
因为我假设只有 1 个循环所以 (comp = 1 loop +1) 我还假设它在复杂性方面与 FOR 循环完全相同。
作为
for(int i =0; i<12; i++){
}
它只有一个循环。
最后,如果我有类似代码的东西,while 循环没有 if 语句或任何东西,然后结束代码。
如果我绘制路径,我是否只有一个路径在执行代码>循环>结束代码。或者我有两条路径是:
1) 代码>循环>结束代码
2) code>endcode 想象一下循环是我上面写的 FOR 循环 例子。
对所有问题表示歉意,这似乎是我特别困惑的循环。
【问题讨论】: