Saya tahu ini bisa sangat spesifik kasus penggunaan, tetapi saya mendapati diri saya bertanya-tanya terlalu sering. Apakah ada sintaks yang umumnya disukai.
Saya tidak bertanya apa pendekatan terbaik ketika dalam suatu fungsi, saya bertanya apakah saya harus keluar lebih awal atau saya tidak memanggil fungsi itu.
Bungkus jika sekitar panggilan fungsi
if (shouldThisRun) {
runFunction();
}
Memiliki if ( guard ) in function
runFunction() {
if (!shouldThisRun) return;
}
Opsi terakhir jelas memiliki potensi untuk mengurangi duplikasi kode jika fungsi ini disebut beberapa kali, tetapi kadang-kadang rasanya salah untuk menambahkannya di sini karena Anda mungkin kehilangan satu-satunya tanggung jawab fungsi.
Inilah contohnya
Jika saya memiliki fungsi updateStatus () yang hanya memperbarui status sesuatu. Saya hanya ingin status diperbarui jika status telah berubah. Saya tahu tempat-tempat dalam kode saya di mana statusnya berpotensi untuk berubah, dan saya tahu tempat-tempat lain di mana ia telah berubah.
Saya tidak yakin apakah ini hanya saya tetapi rasanya agak kotor untuk memeriksa fungsi dalam ini karena saya ingin menjaga fungsi ini semurni mungkin - jika saya menyebutnya saya berharap statusnya akan diperbarui. Tapi saya tidak tahu apakah lebih baik membungkus telepon dengan memeriksa beberapa tempat yang saya tahu berpotensi untuk tidak berubah.