圈复杂度主要与分支语句(if、else、,switch 等)的个数成正相关。如下代码:
1. public String case2(int index, String string) {
2. null;
3. if (index < 0) {
4. throw new IndexOutOfBoundsException("exception <0 ");
5. }
6. if (index == 1) {
7. if (string.length() < 2) {
8. return string;
9. }
10. "returnString1";
11. else if (index == 2) {
12. if (string.length() < 5) {
13. return string;
14. }
15. "returnString2";
16. else {
17. throw new IndexOutOfBoundsException("exception >2 ");
18. }
19. return returnString;
20. }
根据公式 V(G) = e – n + 2 = 12 – 8 + 2 = 6 。代码的圈复杂段为6。
只能记做一个在开发中常用的检测圈复杂度的工具,PMD,checkstyle ,sourcemonitor都可以检
测到高复杂度的代码块。在代码的开发中,配合各种圈复杂度的检测插件,将高复杂度的代码
进行适当的拆分、优化,可以大大提高代码整体的质量,减少潜在bug存在。
标签:index,String,100%,代码,测试用例,检测,复杂度,分支 From: https://blog.51cto.com/u_11908275/6405206