web-dev-qa-db-fra.com

Existe-t-il une norme Java pour _ (trait de soulignement) devant les noms de variable ou de classe?

J'ai vu certains programmeurs utiliser _ (trait de soulignement) devant les noms de classe et d'autres l'utiliser pour les variables locales.

Est-ce que le standard Java requiert/suggère l'utilisation de _ (trait de soulignement) devant une variable d'instance privée ou un nom de classe?

22
Ashok Koyi

C'est une question de goût personnel.

Martin Fowler semble l’aimer. Je m'en fiche un peu - cela brise le schéma de lecture et les informations qu'il transmet sont déjà révélées de manière subtile par couleur dans votre IDE.

J'ai déjà utilisé _ comme nom de la variable contenant le résultat à renvoyer par une méthode. C'est très concis, mais j'ai fini par penser que le nom result est meilleur.

Alors, faites en sorte que vos collègues se mettent d’accord sur ce que vous aimez le plus et faites-le ensuite.

27

Je pense que des artefacts comme ceux-ci sont des versions antérieures à l'IDE et au C++. Ne le fais pas.

40
duffymo

si vous souhaitez suivre les meilleures pratiques Java, utilisez la convention de code décrite ici http://Java.Sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Autrement dit, aucun trait de soulignement pour les noms de variable membre privé. 

Personnellement, je ne suis pas contrarié de toute façon, tant que la cohérence est appliquée.

17
Chii

Beaucoup de gens (y compris moi-même) utilisent _ devant les noms de champs. La raison en est de les distinguer facilement des variables locales. Cependant, à l’époque des IDE, cela n’est pas si nécessaire puisque la coloration syntaxique le montre bien. L'utilisation d'un trait de soulignement devant un nom de classe est tout simplement fausse. Par convention, les noms de classe commencent par une lettre majuscule.

6
Francis Upton

Beaucoup de gens sont par exemple des variables car cela les distingue. Personnellement, je le déteste principalement parce que les méthodes ne doivent généralement pas comporter plus de 10 lignes de code (je ne dépasse pratiquement jamais 20). Si vous ne pouvez pas voir qu'une variable n'est pas locale dans moins de 10 lignes, alors il y a un problème :-) 

Si vous avez des méthodes de 100 lignes et que vous ne déclarez pas toutes vos variables en haut du bloc dans lequel elles sont utilisées, je comprends pourquoi vous voudriez utiliser _ pour les distinguer ... bien sûr, comme dans la plupart des choses, si ça fait mal alors arrête de le faire!

3
TofuBeer

Il semble s'agir d'une convention qui stipule que si un caractère de soulignement est utilisé comme caractère initial dans le nom de la méthode, celle-ci ne peut pas être remplacée.

Par exemple, dans le contexte de JSP, la méthode _jspService () ne peut pas être remplacée. 

Cependant, je ne trouve aucun document qui stipule au-dessus de la convention.

1
imdiva

Utiliser _ avant une variable aide dans un cas où, si le développeur souhaite utiliser un mot standard/clé comme nom de variable, en connaissance de cause ou sans le savoir. Cela ne donnerait pas un conflit si cela a un caractère supplémentaire.

1
Pradeep

Je suis d'accord avec les autres ici ... Il enfreint la norme et ne vous achète vraiment rien si vous utilisez simplement une norme de nommage. Si vous avez besoin de connaître la différence entre votre classe et les variables locales, essayez une convention de dénomination telle que lVariableName, où l est utilisé pour indiquer qu’elle est locale. Pour moi, cela n’est pas nécessaire, car la surbrillance IDE est suffisante, mais peut être utile à certains.

0
PaulP1975
  1. N'utilisez pas _ lorsque vous utilisez un LCD moniteur couleur moderne, avec IDE moderne _ comme Eclipse, Netbeans, IntelliJ, Android Studio.
  2. Utilisez _ lorsque vous devez utiliser un moniteur CRT monochrome à l'ancienne avec du texte vert ou blanc uniquement, ou en cas de difficulté d'identification de la couleur sur le moniteur LCD.
  3. Le consensus de vos collaborateurs de code remplace ce qui précède.
0
etoricky