Якщо я використовую оператор перемикання для обробки значень із enum (який належить моєму класу), і у мене є справа за кожним можливим значенням - чи варто додати код для обробки випадку "за замовчуванням"?
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.
Що ти кажеш, громадо?
MyEnum
а потім передає його через ваш комутатор?
switch
повністю усуваючи твердження.