Salah satu bau kod yang paling biasa semasa membangunkan aplikasi JavaScript ialah lebihan rantaian bersyarat. Dalam artikel ini, saya ingin berhujah tentang cara mencegah kes ini melalui seni bina dan kod.
Perantaian bersyarat yang berlebihan ialah bau kod biasa dalam aplikasi JavaScript. Artikel ini meneroka cara mencegah dan memfaktorkan semula kes ini melalui seni bina dan amalan pengekodan yang dipertingkatkan.
Rantai bersyarat ialah pengendali logik yang berlebihan yang digunakan untuk menyatakan keadaan dalam fungsi atau kaedah. Mari lihat contoh menggunakan aplikasi React:
Seperti yang anda boleh lihat dalam contoh di atas, terdapat rangkaian tiga syarat sahaja untuk menentukan cara kod ini harus diberikan.
Syaratnya ialah:
Dalam kod ini, terdapat dua masalah utama:
Maksudnya, versi refactored kod di atas ialah:
Ini adalah salah satu daripada banyak cara untuk menangani rantaian bersyarat menggunakan pengendali logik JavaScript. Seperti yang anda boleh lihat dalam kod di atas, saya telah menggunakan pendekatan bukan biasa untuk menyelesaikan lebihan bersyarat kod.
Yang !! operator dalam JavaScript digunakan untuk memaksa nilai kepada boolean. Ia mengambil kesempatan daripada fakta bahawa JavaScript mempunyai nilai kebenaran dan palsu. Yang pertama! operator menafikan nilai, menukar nilai kebenaran kepada nilai palsu dan palsu kepada benar. Yang kedua! menafikannya sekali lagi, menghasilkan perwakilan boolean bagi nilai asal. Ini sering digunakan untuk menukar nilai seperti rentetan, nombor atau objek kepada nilai boolean (sama ada benar atau palsu), berdasarkan kebenaran atau kepalsuannya.
Contohnya:
!!"Hello" menilai kepada benar kerana rentetan bukan kosong adalah benar.
!!0 bernilai palsu kerana 0 adalah palsu.
Anda tidak boleh mengambil ini sebagai peraturan, tetapi dalam kebanyakan kes di mana rantaian bersyarat dicipta, lebihan syarat cuba menghuraikan dan mengendalikan nilai dinamik, kerana jika anda berurusan dengan nilai statik, pelaksanaan cenderung menjadi lebih ringkas dan mudah.
Apabila anda memodelkan pangkalan data, anda mesti mempunyai sedikit kebimbangan tentang kebergantungan perisian.
Orang ramai biasanya mempelajari kajian pergantungan jenis ini melalui pengajian kolej IT mereka, tetapi saya akan menggambarkannya.
Terdapat dua jenis kebergantungan pada perisian:
Bahagian belakang anda mesti bertanggungjawab untuk semua bahagian logik sistem anda, jadi, majoriti kebergantungan fungsi anda mesti dikendalikan oleh fungsi bahagian belakang, bukan oleh skrin hadapan atau interaksi pengguna.
Apabila anda mula membangunkan ciri baharu dan memahami perkara yang diperlukan untuk berfungsi, seperti prop, antara muka dan parameter, anda mesti memikirkan perkara yang diperlukan, perkara yang akan menjadi pilihan dan perkara yang tidak mesti digunakan.
Anda mesti menggunakan contoh di atas sebagai contoh perkara yang tidak boleh dilakukan semasa sesi pembangunan anda. Seperti yang anda lihat, antara muka ini hanya mempunyai parameter pilihan, tetapi saya ragu komponen ini hanya akan mempunyai pembolehubah "mungkin" yang dilampirkan padanya.
Anda perlu memahami cara komponen anda sepatutnya berfungsi sebelum membangunkannya dan menolak banyak kod yang mengelirukan ke aplikasi bahagian hadapan anda. Daripada berurusan dengan banyak syarat, lebih mudah jika anda hanya memutuskan: apa yang akan digunakan oleh komponen dan apa yang tidak.
Selepas mempertimbangkannya dengan lebih baik, anda akan menghasilkan sesuatu seperti ini:
Kini antara muka hanya mempunyai parameter yang diperlukan yang pastinya akan digunakan sepanjang hayat komponen dalam apl anda, tidak mempunyai banyak parameter pilihan yang tidak boleh ditakrifkan atau digunakan seperti komponen sebelum ini.
Mencegah dan memfaktorkan semula rantaian bersyarat membawa kepada kod yang lebih bersih dan boleh diselenggara. Dengan memahami keperluan komponen anda, mengalihkan logik ke bahagian belakang jika sesuai, dan mereka bentuk antara muka yang jelas, anda boleh mengurangkan dengan ketara keperluan untuk rantaian bersyarat kompleks dalam kod bahagian hadapan anda.
Foto oleh Samsung Memory on Unsplash
Atas ialah kandungan terperinci Mencegah/Memfaktorkan Semula Rantaian Bersyarat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!