"briser" déclaration lors de l'utilisation des accolades en cas de commutateur
- Je utiliser des accolades avec tous mes commutateur cas de déclarations en C/Objective-C/C++
Je n'avais pas, jusqu'à il y a quelques instants, a examiné s'y compris la break;
déclaration à l'intérieur de l'appareil dentaire est une bonne ou une mauvaise pratique. Je soupçonne qu'il n'a pas d'importance, mais je me dis qu'il est encore utile de se poser.
switch (foo) {
case 1: {
//stuff
break;
}
default: {
break;
}
}
vs
switch (foo) {
case 1: {
//stuff
} break;
default: {
//stuff
} break;
}
- Mettez juste le cas énoncé à l'intérieur de la mère de l'instruction des accolades.
- J'utilise les accolades car : stackoverflow.com/questions/92396/...
Vous devez vous connecter pour publier un commentaire.
Réponse courte: il n'a pas d'importance.
Juste donner un peu plus détaillée de réponse...
Officiel C99 spécification est dit ce qui suit au sujet de l'instruction break:
Donc il n'a vraiment pas d'importance. Quant à moi, j'ai mis la pause entre accolades. Car vous pouvez aussi faire des pauses dans d'autres endroits à l'intérieur de votre accolades, il est plus logique d'avoir aussi de la fin de la pause entre les accolades. Un peu comme l'instruction return.
Il y a des tonnes de codage différents styles de la façon de combiner les accolades et les commutateurs. Je vais utiliser celui que je préfère dans les exemples. Le
break
déclaration des sauts hors de l'intime boucle ou d'une instruction switch, indépendamment de leur emplacement. Vous pourriez par exemple avoir plusieurs pauses pour un seul cas:Notez que vous pouvez aussi mettre le cas de n'importe où, bien que est un peu considéré comme une mauvaise pratique. Le cas de l'étiquette est très bien comme un goto label. Il est arrivé que j'ai écrit quelque chose comme ceci:
mais à utiliser avec précautions.
Vous ne voulez probablement pas les curlies, en premier lieu, à moins que vous en avez besoin pour une portée lexicale. Le premier exemple est mieux pour moi, mais je suppose que la vraie réponse est que c'est une question de goût.
Comme l'indique clairement, c'est juste une question de style personnel, mais j'ai toujours mis à l'instruction break à l'extérieur de l'appareil dentaire: mettre la pause avant l'accolade de fermeture me semble sauter d'une instruction composée donc d'augmenter légèrement le code spaghetti sentiment.