Java norme de Codage / meilleures pratiques - convention de nommage pour pause/continuer étiquettes
Parfois une étiquette break ou continue peut rendre le code beaucoup plus lisible.
OUTERLOOP: for ( ;/*stuff*/; ) {
//...lots of code
if ( isEnough() ) break OUTERLOOP;
//...more code
}
Je me demandais ce que la convention commune pour les étiquettes. Tous les bouchons? premier de la pac?
Vous devez vous connecter pour publier un commentaire.
Si vous devez les utiliser les utiliser capitales, cela attire l'attention sur eux et qui les choisit d'être interprété à tort comme "Classe" des noms. Attirant l'attention sur eux, a l'avantage supplémentaire d'attraper les yeux d'une personne qui va venir le long et restructurer le code et les supprimer. 😉
test
pour un exemple de l'étiquette, et il est clair que ce n'est pas dans les capitales (même si elle doit être encamelCase
,underscored_lower_case
etc. s'agit plus d'une question ouverte).Je ne comprends pas d'où cela "ne pas utiliser des étiquettes" règle vient de. Quand on fait de la non-trivial de boucle logique, le test de break ou continue n'est pas toujours parfaitement à la fin de la campagne environnante bloc.
Oui, les cas de ce genre ne se produisent tout le temps. Ce sont des gens qui suggère que je utiliser à la place? Une condition booléenne comme ça?
Beurk! Refactoring comme une méthode n'est pas soulagé que ce soit:
Sûr que c'est un peu plus jolie, mais c'est encore de passer un superflu de type boolean. Et si la boucle interne modifié les variables locales, refactoring dans une méthode n'est pas toujours la bonne solution.
Alors, pourquoi êtes-vous contre les étiquettes? Me donner de solides raisons, et les solutions pratiques pour le cas ci-dessus.
La convention est d'éviter les étiquettes au total.
Il y a très, très peu de raisons valables d'utiliser un label pour sortir d'une boucle. La rupture est ok, mais vous pouvez supprimer la nécessité de briser par la modification de votre conception un peu. Dans l'exemple que vous avez donné, vous permet d'extraire les "Lots de code' articles et de les mettre dans des méthodes individuelles avec des noms significatifs.
Edit: vu le code en question (ici), je pense que l'utilisation d'étiquettes est probablement la meilleure façon de rendre le code lisible. Dans la plupart des cas à l'aide d'étiquettes est pas la bonne approche, dans ce cas, je pense que c'est très bien.
Java de Sun code de style semblent préférer de nommage des étiquettes de la même manière que les variables, les sens de chameau cas avec la première lettre en minuscule.
La convention que j'ai le plus vu est tout simplement chameau cas, comme un nom de méthode...
mais j'ai aussi vu des étiquettes préfixé par un trait de soulignement
ou de laboratoire...
Vous pouvez probablement sentir bien que de l'autre les réponses que vous aurez du mal a poussé à trouver une norme de codage qui dit autre chose que "Ne pas utiliser les étiquettes". La réponse, puis je pense que vous devriez utiliser quelque soit le style fait sens pour vous, tant que c'est cohérent.
wrt sadie exemple de code:
Vous a donné
Comme un exemple. Vous faites un bon point. Ma meilleure supposition serait:
Mais il y aurait des exemples où ce genre de refactoring n'a pas s'asseoir correctement avec tout ce logique que vous faites.
Que les étiquettes sont si rarement utile, il apparaît qu'il n'existe aucune convention. Java langage de spécification en a un exemple avec les étiquettes et ils sont en non_cap.
Mais puisqu'ils sont si rares, à mon avis c'est le meilleur, à réfléchir à deux fois s'ils sont vraiment le bon outil.
Et si c'est le bon outil, tous les chapeaux de sorte que d'autres développeurs (ou vous-même plus tard) réaliser que quelque chose d'inhabituel immédiatement. (comme Craig l'a déjà souligné)
La convetion/meilleure pratique serait encore de ne pas les utiliser à toutes et à refactoriser le code de sorte que c'est plus lisible à l'aide de l'extrait de la méthode.
Ils sont en quelque sorte le goto de Java ne sais pas si C# a eux. Je n'ai jamais utilisé dans la pratique, je ne peux pas penser à un cas où les éviter ne serait pas beaucoup plus d'un code lisible.
Mais si vous avez d' - je pense que tous les bouchons est ok. La plupart des gens n'utilisent pas étiquetés pauses, alors quand ils voient le code, les bouchons vont sauter sur eux et les obliger à rendre compte de ce qui se passe.
Mo, votre prémisse est fausse.
La question ne devrait pas être " comment puis-je formater?'
Votre question devrait être " j'ai un code qui a une grande quantité de logique à l'intérieur des boucles - comment puis-je le rendre plus lisible?'
La réponse à cette question est de déplacer le code dans une base individuelle, ainsi nommé fonctions. Ensuite, vous n'avez pas besoin de l'étiquette de la casse à tous.