मैं इस एक पर आप सभी युवा व्हिपसैपर्स से असहमत होने जा रहा हूं।
एक विधि के बीच में वापसी का उपयोग करना, शून्य या अन्यथा, बहुत बुरा अभ्यास है, उन कारणों के लिए जिन्हें स्पष्ट रूप से स्पष्ट किया गया था, लगभग चालीस साल पहले, स्वर्गीय एग्जर डब्ल्यू। दिक्जस्त्र द्वारा, जाने-माने "पोटो स्टेटमेंट" में शुरू किया गया हानिकारक ", और" संरचित प्रोग्रामिंग "में जारी है, डाहल, दिज्क्स्ट्रा और होरे द्वारा।
मूल नियम यह है कि प्रत्येक नियंत्रण संरचना, और प्रत्येक मॉड्यूल में एक प्रविष्टि और एक निकास होना चाहिए। मॉड्यूल के बीच में एक स्पष्ट वापसी उस नियम को तोड़ती है, और यह कार्यक्रम की स्थिति के बारे में तर्क करने के लिए बहुत कठिन बनाता है, जो बदले में यह कहना मुश्किल है कि कार्यक्रम सही है या नहीं (जो कि अधिक मजबूत संपत्ति है "चाहे वह काम करता हो या नहीं")।
1970 के दशक की "संरचित प्रोग्रामिंग" क्रांति से "GOTO स्टेटमेंट को माना हानिकारक" और "संरचित प्रोग्रामिंग" को लात मार दी। उन दो टुकड़ों के कारण हमारे पास हैं अगर-तब-तब, जबकि-और अन्य स्पष्ट नियंत्रण निर्माण आज, और क्यों उच्च स्तर की भाषाओं में गोटो बयान लुप्तप्राय प्रजातियों की सूची में हैं। (मेरी निजी राय है कि उन्हें विलुप्त प्रजाति सूची में होना चाहिए।)
यह ध्यान देने योग्य है कि मैसेज फ्लो मॉड्यूलेटर, सैन्य सॉफ्टवेयर का पहला टुकड़ा जिसे कभी भी किसी भी विचलन, छूट या "हाँ, लेकिन" क्रिया के साथ स्वीकृति की कोशिश पहले परीक्षण पर पारित की गई थी, एक ऐसी भाषा में लिखी गई थी, जो तब भी नहीं थी एक गोटो बयान
यह भी उल्लेखनीय है कि निकलस विर्थ ने ओबेरॉन-प्रोग्रामिंग भाषा के नवीनतम संस्करण ओबेरॉन -07 में आरईटीआरएन बयान के शब्दार्थ को बदल दिया, जिससे यह एक टाइप किए गए प्रक्रिया (यानी, फ़ंक्शन) की घोषणा का एक अनुगामी टुकड़ा बन गया, बजाय समारोह के शरीर में निष्पादन योग्य बयान। परिवर्तन की उनकी व्याख्या ने कहा कि वह इसे ठीक किया क्योंकि पिछले प्रपत्र था संरचित प्रोग्रामिंग की एक बाहर निकलने के सिद्धांत का उल्लंघन।