यह एक मामूली झगड़ा है, लेकिन हर बार मुझे कुछ इस तरह से कोड करना पड़ता है, दोहराव मुझे परेशान करता है, लेकिन मुझे यकीन नहीं है कि कोई भी समाधान बदतर नहीं हैं।
if(FileExists(file))
{
contents = OpenFile(file); // <-- prevents inclusion in if
if(SomeTest(contents))
{
DoSomething(contents);
}
else
{
DefaultAction();
}
}
else
{
DefaultAction();
}
- क्या इस तरह के तर्क के लिए कोई नाम है?
- क्या मैं एक ओडीएस भी हूं?
मैं बुराई कोड सुझावों के लिए खुला हूँ, अगर केवल जिज्ञासा के लिए ...
make sure I have valid data for DoSomething(), and then DoSomething() with it. Otherwise, take DefaultAction()
। यह सुनिश्चित करने के लिए कि आप के पास DoSomething () का डेटा कम अमूर्त स्तर पर है, और इसलिए एक अलग फ़ंक्शन में होना चाहिए। इस फ़ंक्शन का नाम उच्च अमूर्त स्तर में होगा, और इसका कार्यान्वयन निम्न-स्तर होगा। नीचे दिए गए अच्छे जवाब इस मुद्दे को संबोधित करते हैं।
DefaultAction
कॉल DRY सिद्धांत का उल्लंघन करते हैं