Having all branches of a CASE
or IF
chain with the same implementation indicates a problem.
In the following code:
IF a >0. "Noncompliant
doSomething.
ELSE IF b> 0.
doSomething.
ELSE.
doSomething.
ENDIF.
CASE i. "Noncompliant
WHEN 1 OR 3.
doSomething.
WHEN 2.
doSomething.
WHEN OTHERS.
doSomething.
ENDCASE.
Either there is a copy-paste error that needs fixing or an unnecessary CASE
or IF
chain that needs removing.
Exceptions
This rule does not apply to IF
chains without final ELSE
, nor to CASE
without a WHEN OTHERS
clause.
IF a >0. "no issue, this could have been done on purpose to make the code more readable
doSomething.
ELSEIF b> 0.
doSomething.
ENDIF.