布尔表达式是否应该使用&&在计算独立路径的数量时被视为单独的语句?例如,第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 }
答案 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);
}