Conventions
En Python, la convention de nommage pour les éléments de code tels que les classes, méthodes, fonctions et variables est définie dans le PEP 8, qui est le guide de style pour le code Python. Voici un résumé des conventions de nommage suggérées par le PEP 8 :
- Classes : Les noms de classe doivent normalement utiliser la convention CapWords, où chaque mot commence par une majuscule et n'est pas séparé par des underscores. Exemples : `MyClass`, `DataProcessor`.
- Méthodes de classe et fonctions (procédures) : Les noms de fonctions et de méthodes doivent être en minuscules, avec des mots séparés par des underscores si cela améliore la lisibilité. Exemples : `my_function`, `process_data`.
- Fonctions : Les fonctions qui ne sont pas des méthodes de classe (c'est-à-dire, des fonctions qui ne sont pas définies à l'intérieur d'une classe) suivent la même convention que les méthodes de classe. Exemples : `my_function`, `execute_command`.
- Variables : Les noms de variables doivent être en minuscules, avec des mots séparés par des underscores si cela améliore la lisibilité. Exemples : `my_variable`, `user_id`.
- Constantes : Les noms de constantes définies au niveau du module ou de la classe doivent être en majuscules, avec des mots séparés par des underscores. Exemples : `MAX_OVERFLOW`, `DEFAULT_COLOR`.
Lorsque vous créez une bibliothèque, vous devez également veiller à ce que les noms de vos éléments soient descriptifs et clairs, pour rendre la bibliothèque facile à utiliser et à comprendre pour d'autres développeurs. Aussi, il est généralement préférable d'éviter les abréviations sauf si elles sont très bien établies et comprises dans le domaine pour lequel vous écrivez le code.
Paramètres et propriétés⚓
- Membres (propriétés) d'instances de classes : Doivent être en minuscules et les mots séparés par des underscores si cela améliore la lisibilité, similaire aux noms de variables et de fonctions. Exemple : `self.my_attribute`, `self.default_value`.
- Paramètres de méthodes et de fonctions : Suivent également la même règle que les noms de fonctions et les variables d'instance. Exemples : `def my_method(self, parameter_name):`, `def my_function(arg1, arg2):`.
- Métavariables (variables de classe) : Les variables qui sont partagées par toutes les instances d'une classe (souvent appelées variables de classe ou 'static' dans d'autres langages) sont typiquement en minuscules avec des mots séparés par des underscores. Cependant, si elles fonctionnent comme des constantes (i.e., elles ne doivent pas être modifiées), elles seront en majuscules avec des séparations par des underscores. Exemples : `class MyClass:` `shared_variable = 0`, `DEFAULT_VALUE = 100`.
- Méthodes privées ou "protégées" : Pour indiquer qu'une méthode est destinée à être non publique (c'est-à-dire, utilisée à l'intérieur de la classe uniquement et non en tant qu'API publique de la classe), commencez le nom de la méthode par un seul trait de soulignement. Exemple : `def _my_internal_method(self):`
Il est important de noter que le "privé" en Python est une convention et non une contrainte du langage comme dans d'autres langages de programmation; c'est plus une indication aux autres développeurs qu'à l'interpréteur Python lui-même.
En adhérant à ces conventions, vous aiderez à garantir que votre code est non seulement fonctionnel, mais aussi clair et conforme aux attentes de la communauté Python, rendant ainsi votre bibliothèque plus accessible et plus facile à maintenir pour vous et d'autres développeurs.