Si j'utilise une instruction switch pour gérer les valeurs d'une énumération (qui appartient à ma classe) et que j'ai une casse pour chaque valeur possible - cela vaut-il la peine d'ajouter du code pour gérer le cas «par défaut»?
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()
}
Je ne pense pas que ce soit parce que ce code ne peut jamais être atteint (même avec des tests unitaires). Mon collègue n'est pas d'accord et pense que cela nous protège contre les comportements inattendus causés par l'ajout de nouvelles valeurs à MyEnum.
Que dites-vous, communauté?
MyEnum
ensuite la transmettre via votre commutateur?
switch
complètement l' instruction.