计算独立路径的数量

时间:2013-12-17 01:11:10

标签: testing cyclomatic-complexity

布尔表达式是否应该使用&&在计算独立路径的数量时被视为单独的语句?例如,第3行有两个条件,如果第一个表达式为false,则将评估后续表达式。

1 float calc(float sp, Boolean bt, int r)  { 
2    float c = .060; 
3    if ((sp > 300000) && bt) 
4      c = .050; 
5    if (r > 3) 
6      c = c * .9; 
7    return (sp * c); 
8  } 

1 个答案:

答案 0 :(得分:1)

不,假设您正在计算执行路径。

如果要计算条件路径的数量,那么是。

通常在计算圈复杂度时,你正在做后者,所以是的,你应该计算函数中SIMPLE条件的数量。

简单条件的含义是上述函数等同于:

float calc(float sp, Boolean bt, int r)  { 
   float c = .060; 
   if ((sp > 300000)) 
    if (bt)
     c = .050; 
   if (r > 3) 
     c = c * .9; 
   return (sp * c); 
 }