<p>
The complexity of an expression is defined by the number of <code>&&</code>, <code>||</code> and <code>condition ? ifTrue : ifFalse</code> operators it contains.
A single expression's complexity should not become too high to keep the code readable.
</p>

<p>The following code, with a maximum complexity of 3:</p>

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

<p>could be refactored into something like:</p>

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

/* ... */

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

private boolean relevantMethodName2() {
  return condition3 && condition4;
}
</pre>