अस्वीकरण: मैं वर्तमान में प्रोग्राम सीखने वाला एक व्यक्ति हूं। कभी भी एक परियोजना का हिस्सा नहीं रहा, न ही ~ 500 लाइनों से अधिक कुछ भी लिखा।क्या रक्षात्मक प्रोग्रामिंग DRY सिद्धांत का उल्लंघन करती है?
मेरा प्रश्न है: क्या रक्षात्मक प्रोग्रामिंग उल्लंघन का उल्लंघन करती है सिद्धांत को दोहराएं? रक्षात्मक प्रोग्रामिंग की मेरी परिभाषा मानना सही है (कॉलिंग फ़ंक्शन विपरीत के बजाय इनपुट मान्य करता है), क्या यह आपके कोड के लिए हानिकारक नहीं होगा?
int foo(int bar)
{
if (bar != /*condition*/)
{
//code, assert, return, etc.
}
}
int main()
{
int input = 10;
foo(input); //doesn't the extra logic
foo(input); //and potentially extra calls
foo(input); //work against you?
}
इस की तुलना में:
int main()
{
if (input == /*condition*/)
{
foo(input);
foo(input);
foo(input);
}
}
फिर, एक layperson के रूप में, मैं कितना सरल तर्क बयान आप के खिलाफ जहां तक गिनती नहीं जानते
उदाहरण के लिए, यह बुरा है प्रदर्शन के रूप में, लेकिन निश्चित रूप से रक्षात्मक प्रोग्रामिंग कार्यक्रम या आत्मा के लिए अच्छा नहीं है।
यह सी ++ से कैसे संबंधित है? – xtofl
क्षमा करें, अगर आप चाहें तो उस टैग को हटा दें..मैंने उदाहरणों में इसका इस्तेमाल किया था। – jkeys
मैंने इसे लिखा था जब मैं 15 साल की उम्र में खुद को पढ़ रहा था। मुझे शायद अब कम चर्चा शब्द पता हैं, लेकिन मैंने और अधिक महत्वपूर्ण कार्यक्रम लिखे हैं। मुझे लगता है कि दो कदम आगे ... – jkeys