Les boîtiers de commutation devraient presque toujours avoir un default
boîtier.
Raisons d'utiliser un default
1.Attraper une valeur inattendue
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. Pour gérer les actions «par défaut», où les cas concernent un comportement spécial.
Vous voyez cela beaucoup dans les programmes pilotés par menu et les scripts shell bash. Vous pouvez également voir cela lorsqu'une variable est déclarée en dehors du commutateur mais n'est pas initialisée, et chaque cas l'initialise à quelque chose de différent. Ici, la valeur par défaut doit également l'initialiser afin que le code de ligne qui accède à la variable ne génère pas d'erreur.
3. Pour montrer à quelqu'un lisant votre code que vous avez couvert ce cas.
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.
}
C'était un exemple trop simplifié, mais le fait est que quelqu'un qui lit le code ne devrait pas se demander pourquoi variable
ne peut pas être autre chose que 1 ou 2.
Le seul cas auquel je peux penser de ne PAS utiliser, default
c'est lorsque le commutateur vérifie quelque chose où son alternative plutôt évidente peut être joyeusement ignorée
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}