Question

Il existe de nombreux styles de noms de variables que j'ai rencontrés au fil des ans.

L'entrée actuelle de Wikipédia sur les conventions de dénomination est assez légère ...

J'aimerais voir un catalogue concis de conventions de dénomination de variables, l'identifiant par un nom / une description et quelques exemples.

Si une convention est particulièrement favorisée par une certaine communauté de plates-formes, il convient de le noter également.

Je suis en train de transformer cela en un wiki de communauté. Créez donc une réponse pour chaque convention et modifiez-la au besoin.

Était-ce utile?

La solution

La meilleure convention de dénomination que j'ai vue se trouve dans le livre " Code Terminer " Steve McConnell a une section intéressante sur les conventions de nommage et de nombreux exemples. Ses exemples traitent d'un certain nombre de "meilleures pratiques". pour différentes langues, mais laissez au final le développeur, le responsable du développement ou l’architecte pour décider de l’action spécifique.

Autres conseils

PEP8 est le guide de style du code Python faisant partie de la bibliothèque standard qui est relativement influente dans la communauté Python. Pour les points bonus, en plus de couvrir les conventions de nommage utilisées par la bibliothèque standard Python, il offre une vue d'ensemble des conventions de dénomination en général.

Selon PEP8: les variables, variables d’instance, fonctions et méthodes de la bibliothèque standard sont supposées utiliser des mots minuscules séparés par des tirets bas pour la lisibilité:

foo
parse_foo
a_long_descriptive_name

Pour distinguer un nom d'un mot réservé, ajoutez un trait de soulignement:

in_
and_
or_

Les noms peu confidentiels (non importés par 'from M import *') commencent par un simple trait de soulignement. Les noms dont la confidentialité est respectée commencent par un double soulignement.:

_some_what_private
__a_slightly_more_private_name

Les noms qui sont des méthodes "spéciales" de Python commencent et finissent par un double soulignement:

__hash__  # hash(o) = o.__hash__()
__str__   # str(o) = o.__str__()

Sun a publié une liste de conventions de nom de variable pour Java ici . La liste inclut des conventions pour nommer les packages, les classes, les interfaces, les méthodes, les variables et les constantes.

La section sur les états de variables

  
    

À l'exception des variables, toutes les constantes d'instance, de classe et de classe sont en casse mixte avec une première lettre en minuscule. Les mots internes commencent par des lettres majuscules. Les noms de variable ne doivent pas commencer par des caractères de soulignement _ ou de signe dollar $, même si les deux sont autorisés.

         

Les noms de variables doivent être courts mais significatifs. Le choix d'un nom de variable doit être mnémonique, c'est-à-dire conçu pour indiquer à l'observateur occasionnel l'intention de son utilisation. Les noms de variable à un caractère doivent être évités, à l'exception des noms temporaires "jetable". variables. Les noms communs pour les variables temporaires sont i, j, k, m et n pour les entiers; c, d et e pour les personnages.

  

Certains exemples incluent

int             i;
char            c;
float           myWidth;

Quelle que soit votre convention d'appellation, elle ne vous permet généralement pas de distinguer facilement:

  • variable d'instance (généralement privée)
  • variables locales (utilisées en tant que paramètres ou locales à une fonction)

J'utilise une convention de dénomination basée sur l'utilisation de article indéfini (a, an , certaines) pour les variables locales, et aucun article pour les variables d’instance, comme expliqué dans cette question à propos de préfixe de variable .

Donc, un préfixe (à ma façon ou tout autre préfixe répertorié dans cette question ) peut être un moyen d'affiner la convention de nommage de variable .

Je sais que votre question ne se limite pas aux variables, je voulais simplement souligner cette partie de la convention de nommage.

Il existe le "Guide de conversation de programmeurs Java" d'Einar Hoest.

Il a analysé la structure grammaticale des noms de méthodes, ainsi que la structure des corps de méthodes, et a collecté des informations telles que:

  

add- [nom] - * Ces méthodes ont souvent des paramètres et créent des objets.   Ils renvoient très rarement les valeurs de champ.   La phrase apparaît dans pratiquement tous les   applications.

etcetera ... collectés à partir de centaines de projets open source.

Pour plus d'informations, veuillez vous reporter à son SLE08. papier .

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