मुझे पता है कि यह बहुत उपयोग-मामला विशिष्ट हो सकता है, लेकिन मैं खुद को इस बात से बहुत बार आश्चर्यचकित पाता हूं। क्या आमतौर पर पसंदीदा वाक्यविन्यास है।
मैं यह नहीं पूछ रहा हूं कि किसी फ़ंक्शन में सबसे अच्छा तरीका क्या है, मैं पूछ रहा हूं कि मुझे जल्दी से बाहर निकलना चाहिए या मुझे सिर्फ फ़ंक्शन को कॉल नहीं करना चाहिए।
लपेटें अगर चारों ओर समारोह कॉल
if (shouldThisRun) {
runFunction();
}
है अगर ( गार्ड ) समारोह में
runFunction() {
if (!shouldThisRun) return;
}
उत्तरार्द्ध विकल्प में स्पष्ट रूप से कोड दोहराव को कम करने की क्षमता है यदि इस फ़ंक्शन को कई बार कहा जाता है, लेकिन कभी-कभी इसे यहां जोड़ना गलत लगता है क्योंकि तब आप फ़ंक्शन के एकल-जिम्मेदारी-नेस को खो सकते हैं ।
एक उदाहरण है
अगर मेरे पास एक अपडेटस्टैटस () फ़ंक्शन है जो बस कुछ की स्थिति को अपडेट करता है। मैं केवल स्थिति को अद्यतन करना चाहता हूँ यदि स्थिति बदल गई है। मैं अपने कोड में उन स्थानों को जानता हूं, जहां स्थिति बदलने की क्षमता है, और मैं अन्य स्थानों को जानता हूं जहां यह निश्चित रूप से बदल गया है।
मुझे यकीन नहीं है कि अगर यह सिर्फ मुझे है, लेकिन यह इस समारोह के अंदर की जाँच करने के लिए कुछ हद तक गंदा लगता है क्योंकि मैं इस समारोह को यथासंभव शुद्ध रखना चाहता हूं - अगर मैं इसे कॉल करता हूं तो मुझे स्थिति अपडेट होने की उम्मीद है। लेकिन मैं यह नहीं बता सकता कि क्या कॉल को कुछ जगहों पर लपेटना बेहतर है जहां मुझे पता है कि इसमें बदलाव नहीं करने की क्षमता है।