Contactez-nous

Conventions de nommage (variables, fonctions, classes...)

Découvrez les conventions de nommage recommandées par PEP 8 en Python pour les variables, fonctions, classes, constantes et modules. Choisissez des noms descriptifs et cohérents pour améliorer la lisibilité et la maintenabilité de votre code.

Pourquoi des conventions de nommage ? Lisibilité et cohérence

Choisir des noms clairs, descriptifs et cohérents pour vos variables, fonctions, classes, etc., est *essentiel* pour la lisibilité et la maintenabilité de votre code.

Des noms bien choisis permettent de :

  • Comprendre rapidement le rôle et le type d'une entité (variable, fonction, classe, etc.).
  • Faciliter la collaboration et la relecture de code.
  • Réduire le risque d'erreurs (par exemple, en évitant les confusions entre des noms similaires).
  • Améliorer l'esthétique et la qualité globale du code.

Python a des conventions de nommage recommandées (définies dans PEP 8), que la plupart des développeurs Python suivent.

Variables et fonctions : snake_case

Pour les noms de variables et de fonctions, la convention recommandée est le `snake_case` :

  • Tous les mots en minuscules.
  • Les mots sont séparés par des traits de soulignement (`_`).

Exemples :

ma_variable = 10
nom_utilisateur = "Alice"

def calculer_moyenne(liste_nombres):
    # ...

def afficher_message_bienvenue():
    # ...

Choisissez des noms *descriptifs* qui indiquent clairement le rôle de la variable ou de la fonction. Evitez les noms trop courts (comme `x`, `y`, `i`, sauf pour des variables de boucle ou des indices) ou trop longs (qui rendent le code difficile à lire).

Exemples de noms descriptifs :

  • `age_utilisateur` (plutôt que `age` ou `au`)
  • `nombre_de_tentatives` (plutôt que `nb_tent`)
  • `calculer_prix_total` (plutôt que `calculer` ou `prix`)

Classes : CamelCase (ou PascalCase)

Pour les noms de classes, la convention recommandée est le `CamelCase` (ou `PascalCase`) :

  • Chaque mot commence par une majuscule.
  • Il n'y a pas d'espaces ni de traits de soulignement entre les mots.

Exemples :

class MaClasse:
    # ...

class CompteBancaire:
    # ...

class GestionnaireUtilisateurs:
    # ...

Choisissez des noms qui décrivent clairement le type d'objet que la classe représente.

Constantes : UPPER_SNAKE_CASE

Pour les constantes (des variables dont la valeur n'est pas censée changer), la convention recommandée est `UPPER_SNAKE_CASE` :

  • Tous les mots en majuscules.
  • Les mots sont séparés par des traits de soulignement (`_`).

Exemples :

PI = 3.14159
MAX_SIZE = 1000
COULEUR_PAR_DEFAUT = "bleu"

URL_API = "https://api.exemple.com"

Utiliser des majuscules pour les constantes permet de les distinguer clairement des variables ordinaires.

Modules et packages : snake_case (minuscules)

Pour les noms de modules (fichiers Python) et de packages (répertoires contenant des modules), la convention recommandée est le `snake_case` (comme pour les variables et les fonctions), mais *sans majuscules* :

  • Tous les mots en minuscules.
  • Les mots sont séparés par des traits de soulignement (`_`) (si nécessaire, mais essayez de garder les noms de modules courts et simples).

Exemples :

  • `mon_module.py`
  • `calculs_geometriques.py`
  • `mon_package/` (contenant des modules)

Evitez les noms de modules qui sont déjà utilisés par la bibliothèque standard (par exemple, `math.py`, `os.py`, etc.).

Autres conventions et recommandations

Voici quelques autres conventions et recommandations à connaître :

  • Noms commençant par un trait de soulignement (`_`) : Indique une variable, une fonction, une méthode ou un attribut "protégé" (destiné à un usage interne à une classe ou un module). Ce n'est qu'une convention, Python ne bloque pas l'accès.
  • Noms commençant et se terminant par deux traits de soulignement (`__`) : Utilisé pour les méthodes spéciales et les attributs spéciaux de Python (par exemple, `__init__`, `__str__`, `__name__`). Evitez d'utiliser cette convention pour vos propres noms, sauf si vous savez exactement ce que vous faites.
  • Noms commençant par deux traits de soulignement (mais ne se terminant pas par deux traits de soulignement) : Utilisé pour le "name mangling" (modification du nom) dans les classes, pour éviter les conflits de noms avec les sous-classes.
  • `self` : Par convention, le premier paramètre d'une méthode d'instance est toujours appelé `self`.
  • `cls` : Par convention, le premier paramètre d'une méthode de classe est toujours appelé `cls`.
  • Evitez les noms à une seule lettre : Sauf pour les variables de boucle (`i`, `j`, `k`) ou les indices, utilisez des noms plus descriptifs.
  • Soyez cohérent : Le plus important est d'être cohérent dans votre style de nommage. Si vous travaillez sur un projet existant, suivez les conventions de nommage utilisées dans ce projet.

En suivant ces conventions, vous rendrez votre code plus lisible, plus compréhensible et plus facile à maintenir, pour vous-même et pour les autres développeurs.