Переключатель дел должен почти всегда иметь default
дело.
Причины использовать default
1. «поймать» неожиданное значение
switch(type)
{
case 1:
//something
case 2:
//something else
default:
// unknown type! based on the language,
// there should probably be some error-handling
// here, maybe an exception
}
2. Для обработки действий «по умолчанию», где случаи для особого поведения.
Вы видите это много в программах, управляемых меню и сценариях оболочки bash. Вы также можете увидеть это, когда переменная объявляется вне регистра, но не инициализируется, и каждый случай инициализирует ее чем-то другим. Здесь по умолчанию нужно также инициализировать его, чтобы код строки, обращающийся к переменной, не вызывал ошибку.
3. Чтобы показать, что кто-то читает ваш код, вы рассмотрели этот случай.
variable = (variable == "value") ? 1 : 2;
switch(variable)
{
case 1:
// something
case 2:
// something else
default:
// will NOT execute because of the line preceding the switch.
}
Это был упрощенный пример, но суть в том, что тот, кто читает код, не должен удивляться, почему variable
не может быть что-то, кроме 1 или 2.
Единственный случай, о котором я могу подумать, чтобы НЕ использовать, default
это когда коммутатор проверяет что-то, где его довольно очевидная любая альтернатива может быть счастливо проигнорирована.
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}