zoukankan      html  css  js  c++  java
  • 圈复杂度本质上就是——分支覆盖率达到100%需要的测试用例数



    圈复杂度主要与分支语句(if、else、,switch 等)的个数成正相关。如下代码: 

     
     
    1. public String case2(int index, String string) {    
    2.        String returnString = 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.            returnString = "returnString1";    
    11.        } else if (index == 2) {    
    12.            if (string.length() < 5) {    
    13.               return string;    
    14.            }    
    15.            returnString = "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存在。  

  • 相关阅读:
    Kafka集群搭建
    Easyui dialog中嵌入iframe
    图表插件Charts.js的使用
    抽象工厂
    工厂方法
    简单工厂模式
    认识Git
    代理模式
    原型设计Axure的基本使用
    MVC Api 的跨项目路由
  • 原文地址:https://www.cnblogs.com/bonelee/p/11226816.html
Copyright © 2011-2022 走看看