Commutateur de cas devrait presque toujours un default
des cas.
Raisons de l'utilisation d'un default
1.Pour "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 "par défaut" des actions, où c'est le cas pour un comportement particulier.
Vous voyez BEAUCOUP dans le menu programmes et scripts shell bash. Vous pouvez aussi le voir, quand une variable est déclarée en dehors de l'interrupteur de cas, mais pas initialisé, et chaque cas initialise à quelque chose de différent. Ici, le défaut doit initialiser trop de sorte que la ligne de code qui accède à la variable ne soulève pas une erreur.
3. Montrer à quelqu'un de lire votre code que vous avez couvert l'affaire.
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 simplifié, mais le point est que quelqu'un qui lit le code ne doit pas se demander pourquoi variable
ne peut pas être autre chose que 1 ou 2.
Le seul cas que je peux penser à ne PAS utiliser default
est lorsque le commutateur est en train de vérifier quelque chose où son assez évident tous les autres alternatives peuvent être joyeusement ignoré
switch(keystroke)
{
case 'w':
// move up
case 'a':
// move left
case 's':
// move down
case 'd':
// move right
// no default really required here
}