Ông chủ của tôi đã cho tôi một dự án với một logic cụ thể. Tôi phải phát triển một trang web phải dẫn dắt người điều hướng qua nhiều trường hợp cho đến khi anh ấy / cô ấy đến sản phẩm.
Đây là sơ đồ đường dẫn của điều hướng trong trang web:
QUAN TRỌNG!
Trong trang Sản phẩm, người điều hướng có thể chọn bộ lọc nào anh ta muốn.
- Nếu A, anh ấy / cô ấy PHẢI đi qua B (và sau đó là C) hoặc C và tiếp cận các sản phẩm.
- Nếu B, anh ấy / cô ấy PHẢI đi qua C và tiếp cận các sản phẩm.
- Nếu C, anh ấy / cô ấy tiếp cận trực tiếp các sản phẩm.
Tất nhiên, nếu tôi bắt đầu từ AI thì đi theo con đường dài nhất và khi tôi tiếp cận sản phẩm của mình, tôi có 3 bộ lọc hoạt động.
Cho đến bây giờ tôi đã phát triển mã sau đây hoạt động tốt.
if filter_A
if filter_B
filter_C()
.. else ..
else
filter_C
.. else ..
else
if filter_B
filter_C()
.. else ..
else
filter_C()
.. else ..
Tôi ở đây để hỏi một lập trình viên chuyên gia hơn sẽ làm gì trong tình huống này. Tôi đã không tôn trọng nguyên tắc DRY, tôi không thích nó và tôi muốn biết một cách khác để phát triển loại logic này.
Tôi đã nghĩ về việc tách từng phần mã trong các hàm nhưng nó có phải là một ý tưởng tốt trong trường hợp này không?
filter_C
, nhưng các báo cáo có điều kiện chỉ ra rằng luồng điều khiển có thể đi xung quanh filter_C
. Là filter_C
tùy chọn?