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
(#换成@)。