अगर मैं एक एनम (जो मेरी कक्षा के स्वामित्व में है) से मूल्यों को संभालने के लिए एक स्विच स्टेटमेंट का उपयोग कर रहा हूं और मेरे पास प्रत्येक संभावित मूल्य के लिए एक मामला है - क्या यह "डिफ़ॉल्ट" केस को संभालने के लिए कोड जोड़ने के लायक है?
enum MyEnum
{
MyFoo,
MyBar,
MyBat
}
MyEnum myEnum = GetMyEnum();
switch (myEnum)
{
case MyFoo:
DoFoo();
break;
case MyBar:
DoBar();
break;
case MyBat:
DoBat();
break;
default:
Log("Unexpected value");
throw new ArgumentException()
}
मुझे नहीं लगता कि ऐसा इसलिए है क्योंकि यह कोड कभी भी (यूनिट परीक्षणों के साथ भी) नहीं पहुँचा जा सकता है। मेरा सहकर्मी असहमत है और सोचता है कि यह हमारे मायनम में जोड़े जा रहे नए मूल्यों के कारण अप्रत्याशित व्यवहार से बचाता है।
आप क्या कहते हैं, समुदाय?
MyEnum
तो उसे आपके स्विच से गुजरता है?
switch
कथन (बहुरूपता) को पूरी तरह से समाप्त कर देना चाहिए ।