Question

En PHP, nous (du moins les bons programmeurs) commençons toujours par les noms de variables généraux avec une lettre minuscule, mais les variables / objets de classe 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.

E.g:

<?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 que les objets commencent par des majuscules mais les autres par des minuscules, ou tout commence-t-il par des minuscules comme je l’ai lu à d’autres endroits?

Était-ce utile?

La solution

En règle générale, 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;

Lorsque vous manipulez des acronymes, les choses deviennent plus agaçantes et il n’existe pas de véritable norme quant à savoir si vous devez utiliser:

HTMLHandler myHtmlHandler; 

ou

HTMLHandler myHTMLHandler.

Maintenant, dans les deux cas, notez que les noms de classe (Object, String, HTMLHandler) commencent toujours par une lettre majuscule, mais que les variables d'objet individuelles commencent en minuscule.

Autres conseils

Vous pouvez trouver le nom dans les Conventions de code Java .

Résumé rapide:

  • Pour les classes, utilisez UpperCamelCase .
  • Pour les membres de la 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 .
  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS

La convention veut 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 une minuscule.

Cette page devrait vous aider.

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

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 (les majuscules en premier), les méthodes commencent par des minuscules et les variables que j'ai vues un peu partout (certaines CamelCased, d'autres camelCase avec la première lettre inférieure (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 adopté par le projet sur lequel vous travaillez.

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 avec "this.". Cela corrige également le problème qui se produit lors de l'affectation d'un paramètre à une variable d'instance du même nom:

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

Mais certaines personnes pensent que vous devriez toujours utiliser ce modèle - mais je n'en suis pas folle - je pense que c’est exagéré si vous limitez vos méthodes et vos cours.

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

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

Généralement, le modèle est pVariable ou _variable . Je l’utilise parfois parce que je le trouve plus lisible que cela, mais cela a le désavantage 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, c'est bien de les connaître, mais si vous avez vraiment besoin d'aide pour les différencier dans votre code, dites à Eclipse de les afficher dans des couleurs différentes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top