你的位置:首页 > 软件开发 > Java > 圈复杂度

圈复杂度

发布时间:2015-12-02 13:00:42
Cyclomatic Complexity1. 概念  a. 圈复杂度是一种衡量代码复杂程度的标准。  b. 圈复杂度高的害处:    圈复杂度大说明代码的判断逻辑复杂,可能质量低;    需要的更多的测试用例,难于测试和维护;    程序的可能错误和高的圈复杂度有着很大关系。  ...

圈复杂度

Cyclomatic Complexity

1. 概念

  a. 圈复杂度是一种衡量代码复杂程度的标准。

  b. 圈复杂度高的害处:

    圈复杂度大说明代码的判断逻辑复杂,可能质量低;

    需要的更多的测试用例,难于测试和维护;

    程序的可能错误和高的圈复杂度有着很大关系。

  c. 圈复杂度的表现:

    代码中分支循环语句多(if/else, switch/case, for, while),圈复杂度与分支循环语句个数正相关;

    表达式复杂(含有三元运算符 )。

 

2. 圈复杂度的计算方法

圈复杂度

(1)圈复杂度可以通过程序控制流图计算,公式为:V(G) = e + 2 - n

  e : 控制流图中边的数量

  n : 控制流图中节点的数量(包括起点和终点;所有终点只计算一次,多个return和throw算作一个节点)

(2)圈复杂度对应程序控制流图中从起点到所有终点的路径的条数,所以页可以通过数路径的方式获得圈复杂度。

 

3. 圈复杂度计算实例

private int CalculateScore(int culture, String nation, boolean extend) {    int result = 0;    if (culture < 0) {      throw new RuntimeException("分数不能小于0");    } else if (culture < 200) {      return culture;    } else {      switch (nation){      case "汉":        result = 0;        break;      case "蒙":      case "回":      case "维":      case "藏":        result = 10;        break;      default:        result = 20;      }    }        if (extend) {      result += 10;     }    return result + culture;      }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:圈复杂度

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录