83 votes

Utilisation de caractères de soulignement dans les noms de variables et de méthodes Java

Aujourd'hui encore, je vois souvent des traits de soulignement dans les variables et méthodes Java, par exemple dans les variables membres (comme "m_count" ou "_count"). Autant que je me souvienne, l'utilisation de caractères de soulignement dans ces cas est considérée comme un mauvais style par Sun.

Le seul endroit où ils doivent être utilisés est dans les constantes (comme dans "public final static int IS_OKAY = 1 ;"), car les constantes doivent être en majuscules et non en minuscules. Ici, l'underscore devrait rendre le code plus lisible.

Pensez-vous que l'utilisation d'underscores en Java est un mauvais style ? Si oui (ou non), pourquoi ?

147voto

Tanktalus Points 7940

Si vous n'avez pas de code qui l'utilise maintenant, je suggère de continuer. Si votre base de code l'utilise, continuez.

La plus grande chose à propos du style de codage est cohérence . Si vous n'avez rien à mettre en cohérence, les recommandations du fournisseur de la langue sont probablement un bon point de départ.

117voto

Anders Sandvig Points 7964
sunDoesNotRecommendUnderscoresBecauseJavaVariableAndFunctionNamesTendToBeLongEnoughAsItIs();

as\_others\_have\_said\_consistency\_is\_the\_important\_thing\_here\_so\_chose\_whatever\_you\_think\_is\_more\_readable();

37voto

davetron5000 Points 9622

Règles :

  1. Faites ce que fait le code que vous éditez
  2. Si le point 1 ne s'applique pas, utilisez la casse, sans caractères de soulignement.

31voto

JaredPar Points 333733

Je ne pense pas qu'utiliser _ ou m_ pour indiquer des variables membres soit mauvais en Java ou dans tout autre langage. À mon avis, cela améliore la lisibilité de votre code car cela vous permet de regarder un extrait et d'identifier rapidement toutes les variables membres des variables locales.

Vous pouvez également y parvenir en obligeant les utilisateurs à faire précéder les variables d'instance de "this", mais je trouve cela un peu draconien. A bien des égards, cela viole le DRY car il s'agit d'une variable d'instance, pourquoi la qualifier deux fois.

Mon style personnel est d'utiliser m_ au lieu de _. La raison en est qu'il existe également des variables globales et statiques. L'avantage de m_/_ est qu'il distingue la portée d'une variable. Vous ne pouvez donc pas réutiliser _ pour les variables globales ou statiques et je choisis plutôt g_ et s_ respectivement.

7voto

Christophe Herreman Points 11844

"Mauvais style" est très subjectif. Si une certaine convention fonctionne pour vous et votre équipe, je pense que cela qualifiera un mauvais/bon style.

Pour répondre à votre question : J'utilise un trait de soulignement en tête pour marquer les variables privées. Je trouve cela clair et je peux parcourir le code rapidement et trouver ce qui se passe.

(Je n'utilise presque jamais "ceci" cependant, sauf pour éviter un conflit de noms).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X