index = 1
nb = 2
...
if nb == 0:
nb = index
elif nb == 1:
nb = index * 2
elif nb == 2:
nb = index * 3
else:
nb = -1
return nb
If we are using too many conditional IF, ELSEIF or ELSE statements it will impact performance. We can think of using a switch statement instead of multiple if-else if possible, or refactor code to reduce number of IF, ELSEIF and ELSE statements. Sometimes called "complexity cyclomatic". MATCH-CASE statement has a performance advantage over if – else.
one variable must be used maximum twice in IF / ELSEIF / ELSE statements at the same level - WARNINGs :
IF and ELSEIF statements use explicitly variable names !
ELSE statements use implicity variable names !
one variable must be used maximum twice in IF / ELSEIF / ELSE statements at differents hierarchical levels
we can assume that if one variable is used three times or more, we should :
use a MATCH-CASE statement instead
or refactor the code if possible
Non-compliant, because nb is used 4 times :
- 2 explicit times in IF statements
- 2 implicit times in ELSE statements
index = 1
nb = 2
...
if nb == 0:
nb = index
elif nb == 1:
nb = index * 2
elif nb == 2:
nb = index * 3
else:
nb = -1
return nb
MATCH-CASE statement solution + refactor solution
index = 1
nb = 2
...
match nb:
case 0:
nb = index * (nb + 1)
case 1:
nb = index * (nb + 1)
case 2:
nb = index * (nb + 1)
case _:
nb = -1
return nb