Sonarqube Sonar-先决条件与长条件块的保护条款

Sonarqube Sonar-先决条件与长条件块的保护条款,sonarqube,Sonarqube,是否有一个签入声纳可以识别何时可以用一个保护条款检查前提条件,而不是将整个方法包装在一个if块中 换句话说,我希望Sonar能帮助我找到机会重构这样的东西 void method(args) { if (precondition(args)) { // do rest of method } // no other code after conditional } 为此: void method(args) { if (!precondition(arg

是否有一个签入声纳可以识别何时可以用一个保护条款检查前提条件,而不是将整个方法包装在一个
if
块中

换句话说,我希望Sonar能帮助我找到机会重构这样的东西

 void method(args) {
   if (precondition(args)) {
     // do rest of method
   }
   // no other code after conditional
 }
为此:

void method(args) {
    if (!precondition(args)) {
      return;
    }
    // do rest of method;
 }
这提高了可读性,并减少了方法体内部条件的嵌套深度

声纳中的什么规则有助于解决这个问题

圈复杂度听起来像是错误的度量,因为早期返回使方法得分更复杂,而条件的数量是相同的。我在寻找一个像平均嵌套深度这样的指标