Mein Chef gab mir ein Projekt mit einer bestimmten Logik. Ich muss eine Webseite entwickeln, die den Navigator durch viele Fälle führt, bis er das Produkt erreicht.
Dies ist das Pfadschema der Navigation auf der Site:
WICHTIG!
Auf der Seite "Produkte" kann der Navigator den gewünschten Filter auswählen.
- Wenn A, MUSS er / sie durch das B (und dann natürlich C) oder C gehen und die Produkte erreichen.
- Wenn B, MUSS er / sie das C durchgehen und die Produkte erreichen.
- Wenn C, erreicht er / sie direkt die Produkte.
Wenn ich von AI aus beginne, folge ich dem längsten Weg und wenn ich meine Produkte erreiche, habe ich 3 aktive Filter.
Bis jetzt habe ich den folgenden Code entwickelt, der gut funktioniert.
if filter_A
if filter_B
filter_C()
.. else ..
else
filter_C
.. else ..
else
if filter_B
filter_C()
.. else ..
else
filter_C()
.. else ..
Ich bin hier, um zu fragen, was ein erfahrener Programmierer in dieser Situation getan hätte. Ich habe das DRY-Prinzip nicht respektiert, es gefällt mir nicht und ich möchte einen alternativen Weg kennen, um diese Art von Logik zu entwickeln.
Ich habe darüber nachgedacht, jeden Codeabschnitt in Funktionen aufzuteilen. Ist dies in diesem Fall eine gute Idee?
filter_C
, aber die bedingten Anweisungen zeigen an, dass der Kontrollfluss umgangen werden kann filter_C
. Ist filter_C
optional