表达式的复杂性可以根据包含的 &&, || 和 表达式 ? 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;
}