Мой босс дал мне проект с особой логикой. Я должен разработать веб-страницу, которая должна вести навигатор по многим случаям, пока он не достигнет продукта.
Вот схема пути навигации по сайту:
ВАЖНЫЙ!
На странице Продукты навигатор может выбрать, какой фильтр он хочет.
- Если A, он / она ДОЛЖЕН пройти через B (и, конечно, C) или C и добраться до продуктов.
- Если B, он / она ДОЛЖЕН пройти через C и добраться до продуктов.
- Если C, он / она достигает непосредственно продуктов.
Конечно, если я начинаю с ИИ, я иду по самому длинному пути, и когда я достигаю своих продуктов, у меня есть 3 активных фильтра.
До сих пор я разработал следующий код, который отлично работает.
if filter_A
if filter_B
filter_C()
.. else ..
else
filter_C
.. else ..
else
if filter_B
filter_C()
.. else ..
else
filter_C()
.. else ..
Я здесь, чтобы спросить, что бы сделал более опытный программист в этой ситуации. Я не уважал принцип СУХОЙ, мне это не нравится, и я хотел бы знать альтернативный способ разработки такой логики.
Я думал о разделении каждого раздела кода в функциях, но это хорошая идея в этом случае?
filter_C
, но условные операторы указывают, что поток управления может проходить filter_C
. Является filter_C
необязательным?