हर कोई मुझे इस तरह कोड लिखने के लिए क्यों कहता है यह एक बुरा अभ्यास है?
if (foo)
Bar();
//or
for(int i = 0 i < count; i++)
Bar(i);
घुंघराले ब्रेसिज़ को छोड़ने के लिए मेरा सबसे बड़ा तर्क यह है कि यह कभी-कभी उनके साथ दो बार हो सकता है। उदाहरण के लिए, यहां C # में लेबल के लिए चमक प्रभाव को चित्रित करने के लिए कुछ कोड दिए गए हैं।
using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor)))
{
for (int x = 0; x <= GlowAmount; x++)
{
for (int y = 0; y <= GlowAmount; y++)
{
g.DrawString(Text, this.Font, br, new Point(IconOffset + x, y));
}
}
}
//versus
using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor)))
for (int x = 0; x <= GlowAmount; x++)
for (int y = 0; y <= GlowAmount; y++)
g.DrawString(Text, this.Font, br, new Point(IconOffset + x, y));
आप usings
एक लाख बार इंडेंट किए बिना एक साथ चेनिंग का अतिरिक्त लाभ प्राप्त कर सकते हैं ।
using (Graphics g = Graphics.FromImage(bmp))
{
using (Brush brush = new SolidBrush(backgroundColor))
{
using (Pen pen = new Pen(Color.FromArgb(penColor)))
{
//do lots of work
}
}
}
//versus
using (Graphics g = Graphics.FromImage(bmp))
using (Brush brush = new SolidBrush(backgroundColor))
using (Pen pen = new Pen(Color.FromArgb(penColor)))
{
//do lots of work
}
घुंघराले ब्रेसिज़ के लिए सबसे आम तर्क मेन्टेंस प्रोग्रामिंग के इर्द-गिर्द घूमता है, और समस्याएँ जो मूल और कथन के बीच कोड डालने से होती हैं।
if (foo)
Bar();
Biz();
प्रशन:
- क्या अधिक कॉम्पैक्ट सिंटैक्स का उपयोग करना गलत है जो भाषा प्रदान करती है? जो लोग इन भाषाओं को डिज़ाइन करते हैं, वे स्मार्ट हैं, मैं कल्पना नहीं कर सकता कि वे एक ऐसी सुविधा डालेंगे जिसका उपयोग करना हमेशा खराब होता है।
- क्या हमें या हमें कोड नहीं लिखना चाहिए ताकि सबसे कम आम भाजक समझ सकें और इसके साथ काम करने में कोई समस्या न हो?
- क्या कोई और तर्क है जो मुझे याद आ रहा है?