Se sto usando un'istruzione switch per gestire i valori da un enum (che è di proprietà della mia classe) e ho un caso per ogni valore possibile - vale la pena aggiungere del codice per gestire il caso "predefinito"?
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()
}
Non penso sia perché questo codice non può mai essere raggiunto (anche con i test unitari). Il mio collega non è d'accordo e pensa che questo ci protegga da comportamenti imprevisti causati dall'aggiunta di nuovi valori a MyEnum.
Che cosa dici, community?