एकल स्टेटमेंट्स के बारे में एक तीव्र बहस है और क्या उनके पास घुंघराले ब्रेसेस होने चाहिए या नहीं।
C++, C#, Java, और Javascript में घुंघराले ब्रेसेस के बिना एक एकल पंक्ति स्टेटमेंट वैध है, कुछ इस सुविधा का लाभ उठाते हैं, जबकि अन्य नहीं करते।
उदाहरण के लिए
if(ifTrue)
MowTheLawn();
for(var index; index > 10; index++)
ChopWood();
foreach(var dollar in money)
BuyLollipop();
while(untilTheEnd)
Read();
एकल पंक्ति घुंघराले ब्रेसेस के विरुद्ध तर्क
घुंघराले ब्रेसेस के विरुद्ध तर्क यह है कि यह अधिक संक्षिप्त सिंटैक्स है, टाइप करने के लिए कम वर्ण हैं, और यह वैध सिंटैक्स है। इसका लाभ क्यों न उठाएं?
एकल पंक्ति घुंघराले ब्रेसेस के पक्ष में तर्क
घुंघराले ब्रेसेस के पक्ष में तर्क यह है कि यह सुसंगतता, कम बग और मानसिक रूप से पार्स करने के लिए अधिक प्राकृतिक है।
Jon Abrams द्वारा लिखे गए एक लेख में जिसका शीर्षक है Single-line ‘if’ statements, Jon समझाते हैं कि Apple के TLS कार्यान्वयन में एक दोष कैसे घुंघराले ब्रेसेस के बिना एक एकल पंक्ति if स्टेटमेंट के परिणामस्वरूप पेश किया गया था। Jon आगे कहते हैं कि जबकि एकल-पंक्ति स्टेटमेंट्स में घुंघराले ब्रेसेस को छोड़ना अधिक संक्षिप्त है, दोषों को रोकना संक्षिप्तता से अधिक महत्वपूर्ण है।
Jon एक समझौता प्रस्तावित करते हैं, एकल-पंक्ति स्टेटमेंट्स की अनुमति दें यदि वे वास्तव में एक एकल पंक्ति पर हैं:
if(ifTrue) MowTheLawn();
मैं Jon के विचारों को दोहराता हूं, एकल पंक्तियों में घुंघराले ब्रेसेस को छोड़ना इसके द्वारा प्रदान किए जाने वाले लाभ के लायक नहीं है। यह सॉफ्टवेयर इंजीनियर को वैध सिंटैक्स की दो भिन्नताओं पर विचार करने के लिए मजबूर करता है। यह इतना बुरा नहीं लग सकता है, लेकिन हर बार जब आप एक if स्टेटमेंट पर आते हैं तो यह निर्धारण करना कठिन होता है। अगला प्रभाव यह है कि इंजीनियर कुछ कीस्ट्रोक बचाता है और भविष्य के पाठकों पर अपने कोड को पार्स करने का बोझ डालता है।
C# सॉफ्टवेयर इंजीनियरों के लिए, Microsoft ने अपने coding conventions में एक पक्ष लिया है, जो घुंघराले ब्रेसेस के लिए कॉल करते हैं।
जब हम सभी मामलों में घुंघराले ब्रेसेस का उपयोग करते हैं चाहे पंक्तियों की संख्या कुछ भी हो, तो क्या स्कोप में है और क्या स्कोप से बाहर है यह बहुत स्पष्ट है। यह कोड को कम त्रुटि-प्रवण और अधिक सुसंगत बनाता है, हालांकि कुछ इस बिंदु पर बहस कर सकते हैं, मुझे इसे पढ़ना आसान लगता है।
लेखक: Chuck Conway एक AI इंजीनियर हैं जिनके पास सॉफ्टवेयर इंजीनियरिंग का लगभग 30 साल का अनुभव है। वह व्यावहारिक AI सिस्टम बनाते हैं—कंटेंट पाइपलाइन, इंफ्रास्ट्रक्चर एजेंट, और ऐसे टूल जो वास्तविक समस्याओं को हल करते हैं—और अपनी सीख को साझा करते हैं। सोशल मीडिया पर उनसे जुड़ें: X (@chuckconway) या YouTube और SubStack पर उनसे मिलें।