Se eu estiver usando uma instrução switch para manipular valores de uma enumeração (pertencente à minha classe) e tiver um caso para cada valor possível - vale a pena adicionar código para manipular o caso "padrão"?
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()
}
Eu não acho que é porque esse código nunca pode ser alcançado (mesmo com testes de unidade). Meu colega de trabalho discorda e acha que isso nos protege contra comportamentos inesperados causados por novos valores sendo adicionados ao MyEnum.
O que você diz, comunidade?
MyEnum
depois passar pelo seu switch?
switch
completamente a instrução.