Корпуси комутаторів майже завжди повинні мати 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 shell. Ви також можете це побачити, коли змінна оголошена за межами регістру комутатора, але не ініціалізована, і кожен випадок ініціалізує її на щось інше. Тут за замовчуванням потрібно його ініціалізувати, щоб вниз код рядка, який звертається до змінної, не викликав помилку.
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
}