web-dev-qa-db-fra.com

Conventions de dénomination variables en Java?

En PHP, nous (au moins les bons programmeurs) commençons toujours les noms de variables générales avec une lettre minuscule, mais classons les variables/objets avec une lettre majuscule pour les distinguer. De la même manière, nous commençons les noms de fichiers généraux avec une lettre minuscule, mais les fichiers contenant des classes avec une lettre majuscule.

Par exemple:

<?php
$number=123;
$string="a string";
$colors_array=array('red','blue','red');
$Cat=New Cat();
?>

Les conventions sont-elles les mêmes en Java, c'est-à-dire les objets commençant par des majuscules mais le reste par des minuscules, ou tout commence par des minuscules comme je l'ai lu dans d'autres endroits?

21
Click Upvote

Généralement, toutes les variables commencent par des minuscules:

int count = 32;
double conversionFactor = 1.5d;

Certaines personnes aiment mettre des constantes statiques dans tous les cas:

public static final double KILOGRAM_TO_POUND = 2.20462262;

Les choses deviennent plus ennuyeuses lorsque vous traitez avec des acronymes, et il n'y a pas de véritable norme pour savoir si vous devez utiliser:

HTMLHandler myHtmlHandler; 

ou

HTMLHandler myHTMLHandler.

Maintenant, de toute façon, notez que les noms de classe (Object, String, HTMLHandler) commencent toujours par une majuscule, mais les variables d'objet individuelles commencent en minuscules.

27
Richard Campbell

Vous pouvez trouver la dénomination dans les Conventions du code Java .

Un résumé rapide:

  • Pour les classes, utilisez UpperCamelCase.
  • Pour les membres de classe et les variables locales, utilisez lowerCamelCase
  • Pour les packages, utilisez l'URI inverse, par exemple org.acme.project.subsystem
  • Pour les constantes, utilisez ALL_CAPS.
59
jamesh
  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS
8
Patrick McElhaney

La convention est que les noms de classe commencent par une lettre majuscule. Les noms de variables sont camelCase. Même si la variable fait référence à un objet, elle commence toujours par des minuscules.

Cela page devrait aider.

4
Vincent Ramdhanie

Que pensez-vous de l'utilisation de camelCase pour les méthodes d'instance et de PascalCase pour la statique? Je pense que cela pourrait être très utile, car il n'y aurait aucun problème lors de la vérification de la méthode statique. C'est ma proposition

1
shx

Les conventions dépendent vraiment de l'endroit individuel pour lequel vous codez.

En général, d'après ce que j'ai vu, les classes sont CamelCased (avec les majuscules en premier), les méthodes commencent par les minuscules et les variables que j'ai vues partout (certaines CamelCased, certaines camelCase avec la première lettre plus bas (EDIT: comme mentionné ci-dessus, c'est la norme), certains même avec la notation hongroise). Cela dépend de votre style et du style que le projet sur lequel vous travaillez a adopté.

0
EdgarVerona

Certaines personnes (qui ne sont pas moi) aiment différencier les variables de méthode des variables d'instance en préfixant les variables d'instance par "this". Cela résout également le problème qui se produit lors de l'attribution d'un paramètre à une variable d'instance du même nom:

public ConstructorMethod(MyVar variable) {
    this.variable=variable;
}

Mais alors, certaines personnes pensent que vous devriez toujours utiliser ce modèle - mais je n'en suis pas fou - je pense que c'est exagéré si vous gardez vos méthodes et vos classes petites.

De plus, certaines personnes utilisent un modèle de dénomination pour les paramètres. Cela (encore une fois) est utile lorsque vous affectez un constructeur à une variable d'instance:

public ConstructorMethod(MyVar pVariable) {
    variable=pVariable;
}

Habituellement, le modèle est pVariable ou _variable. J'utilise de temps en temps cela parce que je le trouve plus lisible que cela, mais il a l'inconvénient de rendre vos Javadocs moins lisibles.

Dans tous les cas, je n'aime pas vraiment l'idée d'utiliser TOUJOURS l'un de ces modèles, ils sont formidables à connaître, mais si vous avez vraiment besoin d'aide pour les différencier dans votre code, dites à Eclipse de les montrer dans différentes couleurs.

0
Bill K