== Why is this an issue? The complexity of an expression is defined by the number of ``++AND++``, ``++OR++``. A single expression's complexity should not become too high to keep the code readable. === Noncompliant code example With the default threshold value of 3 [source,rpg] ---- C IF (condition1 AND condition2) C OR (condition2 AND condition2) C OR (condition3 AND condition4) ---- [source,rpg] ---- /free IF A=X OR A=Y AND A=Z AND B=Y OR B=Z; ... ENDIF; /end-free ---- === Compliant solution [source,rpg] ---- C IF (condition1 AND condition2) C OR MyComplexCondition() ---- [source,rpg] ---- /free IF A=X OR MyComplexCondition() OR B=Z; ... ENDIF; /end-free ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] include::../parameters.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]