गार्ड क्लॉस या पूर्व-स्थितियां (जैसा कि आप शायद देख सकते हैं) यह देखने के लिए जांचें कि क्या कोई निश्चित शर्त पूरी हुई है और फिर कार्यक्रम का प्रवाह टूट गया है। वे उन स्थानों के लिए महान हैं जहाँ आप वास्तव में केवल एक if
बयान के एक परिणाम में रुचि रखते हैं । इसलिए कहने के बजाय:
if (something) {
// a lot of indented code
}
आप स्थिति को उलटते हैं और तोड़ते हैं यदि वह उलट स्थिति पूरी हो जाती है
if (!something) return false; // or another value to show your other code the function did not execute
// all the code from before, save a lot of tabs
return
के रूप में गंदा के रूप में कहीं नहीं है goto
। यह आपको अपने शेष कोड को दिखाने के लिए एक मान पारित करने की अनुमति देता है जो फ़ंक्शन नहीं चला सकता है।
आपको सबसे अच्छे उदाहरण दिखाई देंगे जहाँ इसे नेस्टेड स्थितियों में लागू किया जा सकता है:
if (something) {
do-something();
if (something-else) {
do-another-thing();
} else {
do-something-else();
}
}
बनाम:
if (!something) return;
do-something();
if (!something-else) return do-something-else();
do-another-thing();
आपको लगता है कि कुछ लोग बहस कर रहे हैं कि पहला क्लीनर है, लेकिन यह पूरी तरह से व्यक्तिपरक है। कुछ प्रोग्रामर यह जानना चाहते हैं कि इंडेंटेशन के तहत किन परिस्थितियों में कुछ चल रहा है, जबकि मैं विधि प्रवाह को रेखीय रखना चाहूंगा।
मैं एक पल के लिए यह नहीं बताऊँगा कि प्रीऑन्स आपके जीवन को बदल देगा या आपको बिछा देगा, लेकिन आपको अपना कोड बस पढ़ने में थोड़ा आसान लग सकता है।