⛔ No if / Pas de "if"¶
Il est interdit d'utiliser toute forme de structure conditionnelle explicite : if, else, else if, switch /
case, l'opérateur ternaire ? :, ou toute autre instruction de branchement conditionnel.
Faites preuve de créativité pour repenser votre conception en exploitant en utilisant d’autres mécanismes à votre disposition tels que le polymorphisme, les design patterns (Strategy, State, Command, etc.), les structures de données (dictionnaires/maps pour remplacer les switch).
Les méthodes de collections qui utilisent des instructions conditionnelles sont à éviter également (filter, find, etc.).
Exemple
🚫 Evitez
if (type == "A") {
doA();
} else {
doB();
}
👉🏻 Cette règle encourage à écrire du code plus orienté objet, plus extensible et respectueux du principe Open/Closed, tout en rendant les variations de comportement explicites dans la structure même du code plutôt que cachées dans des conditions.
N'hésitez pas à faire appel aux facilitateur·ices pour avancer sur cette contrainte.