表达式的复杂性可以根据包含的 &&, ||表达式 ? ifTrue : ifFalse 操作符来决定。 一个表达式的复杂度不应该太高,以保证代码的可读性。

如下代码所示,最大复杂度为3:

if (condition1 && condition2 && condition3 && condition4) { /* ... */ }  // Non-Compliant

应该重构为如下所示:

if (relevantMethodName1() && relevantMethodName2()) { /* ... */ }        // Compliant

/* ... */

private boolean relevantMethodName1() {
  return condition1 && condition2;
}

private boolean relevantMethodName2() {
  return condition3 && condition4;
}