Having all branches in a CASE
or IF
chain with the same implementation is an error. Either a copy-paste error was made
and something different should be executed, or there shouldn’t be a CASE
/IF
chain at all.
Noncompliant Code Example
IF a >0.
doSomething.
ELSE IF b> 0.
doSomething.
ELSE.
doSomething.
ENDIF.
CASE i.
WHEN 1 OR 3.
doSomething.
WHEN 2.
doSomething.
WHEN OTHERS.
doSomething.
ENDCASE.
Exceptions
Note that this rule does not apply to IF
chains without final ELSE
-s, or to CASE
-s without WHEN
OTHERS
clauses.
IF a >0. "no issue, this could have been done on purpose to make the code more readable
doSomething.
ELSEIF b> 0.
doSomething.
ENDIF.