Mon patron m'a donné un projet avec une logique particulière. Je dois développer une page Web qui doit guider le navigateur à travers de nombreux cas jusqu'à ce qu'il arrive au produit.
Voici le schéma des chemins de navigation dans le site:
IMPORTANT!
Dans la page Produits, le navigateur peut choisir le filtre qu'il souhaite.
- Si A, il / elle DOIT passer par le B (puis C bien sûr) ou C et atteindre les produits.
- Si B, il / elle DOIT passer par le C et atteindre les produits.
- Si C, il accède directement aux produits.
Bien sûr, si je pars de l'IA, je suis sur le chemin le plus long et quand j'atteins mes produits, j'ai 3 filtres actifs.
Jusqu'à présent, j'ai développé le code suivant qui fonctionne bien.
if filter_A
if filter_B
filter_C()
.. else ..
else
filter_C
.. else ..
else
if filter_B
filter_C()
.. else ..
else
filter_C()
.. else ..
Je suis ici pour demander ce qu'aurait fait un programmeur plus expert dans cette situation. Je n'ai pas respecté le principe DRY, je ne l'aime pas et j'aimerais connaître une alternative pour développer ce type de logique.
J'ai pensé à diviser chaque section de code en fonctions, mais est-ce une bonne idée dans ce cas?
filter_C
, mais les instructions conditionnelles indiquent que le flux de contrôle peut circuler filter_C
. Est filter_C
facultatif?