Bos saya memberi saya proyek dengan logika tertentu. Saya harus mengembangkan halaman web yang harus memimpin navigator melalui banyak kasus sampai dia tiba di produk.
Ini adalah skema jalur navigasi di situs:
PENTING!
Di halaman Produk, navigator dapat memilih filter mana yang diinginkan.
- Jika A, dia HARUS melalui B (dan kemudian C tentu saja) atau C dan mencapai produk.
- Jika B, ia harus melalui C dan mencapai produk.
- Jika C, ia langsung mencapai produk.
Tentu saja jika saya mulai dari AI mengikuti jalur terpanjang dan ketika saya mencapai produk saya, saya memiliki 3 filter aktif.
Sampai sekarang saya mengembangkan kode berikut yang berfungsi dengan baik.
if filter_A
if filter_B
filter_C()
.. else ..
else
filter_C
.. else ..
else
if filter_B
filter_C()
.. else ..
else
filter_C()
.. else ..
Saya di sini untuk bertanya apa yang akan dilakukan oleh programmer yang lebih ahli dalam situasi ini. Saya tidak menghormati prinsip KERING, saya tidak suka dan saya ingin tahu cara alternatif untuk mengembangkan logika semacam ini.
Saya berpikir tentang memecah setiap bagian dari kode dalam fungsi tetapi apakah itu ide yang baik dalam kasus ini?
filter_C
, tetapi pernyataan bersyarat menunjukkan bahwa aliran kontrol dapat berputar filter_C
. Apakah filter_C
opsional?