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存在。  

  • 相关阅读:
    Elasticsearch系列---常见搜索方式与聚合分析
    Elasticsearch系列---Elasticsearch的基本概念及工作原理
    Elasticsearch系列---初识Elasticsearch
    记一次ES查询数据突然变为空的问题
    04、管道符、重定向与环境变量
    03、新手必须掌握的Linux命令
    02、安装Linux系统
    01、VM安装教程
    02、HTML 基础
    01、HTML 简介
  • 原文地址:https://www.cnblogs.com/bonelee/p/11226816.html
Copyright © 2011-2022 走看看