Having all branches of an if
chain with the same implementation indicates a problem.
In the following code:
if b == 0: # Noncompliant
do_one_more_thing()
elif b == 1:
do_one_more_thing()
else:
do_one_more_thing()
b = 4 if a > 12 else 4 # Noncompliant
Either there is a copy-paste error that needs fixing or the unnecessary if
chain needs removing.
Exceptions
This rule does not apply to if
chains without else
.
if b == 0: # no issue, this could have been done on purpose to make the code more readable
do_one_more_thing()
elif b == 1:
do_one_more_thing()