Los casos de cambio casi siempre deberían tener un default
caso.
Razones para usar un default
1.Para 'atrapar' un valor inesperado
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. Para manejar acciones 'predeterminadas', donde los casos son de comportamiento especial.
Usted ve MUCHO en los programas controlados por menús y los scripts de shell bash. También puede ver esto cuando una variable se declara fuera del caso de cambio pero no se inicializa, y cada caso la inicializa en algo diferente. Aquí, el valor predeterminado también debe inicializarse para que el código de línea que accede a la variable no genere un error.
3. Para mostrarle a alguien que lee su código que ha cubierto ese caso.
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.
}
Este fue un ejemplo demasiado simplificado, pero el punto es que alguien que lea el código no debería preguntarse por qué variable
no puede ser otra cosa que 1 o 2.
El único caso que se me ocurre que NO debo usar default
es cuando el interruptor está verificando algo donde es bastante obvio que cualquier otra alternativa puede ignorarse felizmente
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}