Quelles sont les Conventions de Nommage en programmation ?
Vous apprenez un nouveau langage et vous voulez respecter sa norme ? Vous ne comprenez pas pourquoi on écrit les mots d’une certaine manière en programmation ?
Ne pas connaître les conventions de nommage peut être un vrai handicap pour écrire du code propre, surtout quand on apprend à coder. Mais pas de panique, je vous dis tout dans cet article.
Une convention de nommage sert à écrire le nom des variables, des fonctions, des constantes et des classes de la même manière pour un langage donné.
Les 3 conventions de nommage les plus fréquent trouvées sont :
- Le Pascal Case
- Le Camel Case
- Le Snake Case
Il existe aussi des conventions de nommages plus exotiques ou moins souvent trouvées en programmation. Parmi celles ci, on retrouve le Kebab Case ou encore des mix des Pascal, Snake ou Camel Case.
Voyons ensemble la liste complète des conventions de nommage.
Pascal Case
Forme : ConventionDeNommage
Le Pascal Case (ou UpperCamelCase ou StudlyCase) est une convention de nommage qui consiste à mettre tous les premières lettres de chaque mot en majuscule et de les coller.
On le retrouve principalement dans les noms de classes dans des langages comme Python, JavaScript, C#, Java ou encore Ruby.
Exemples de code en Pascal Case
En Python
class NomDeMaClasse:
pass
En JSX (React)
class NomDeMaClasse extends React.Component {
render() {
return <div>Hello World!</div>
}
}
Camel Case
Forme : conventionDeNommage
Le Camel Case (ou (lower) camelCase ou dromedaryCase) est une convention de nommage qui consiste à mettre uniquement les lettres en début de chaque mot en majuscule sauf la première qui reste en minuscule.
Exemple de code en Camel Case
En JavaScript
function maFonctionJavaScript(p1, p2) {
return p1 * p2
}
Snake Case
Forme : convention_de_nommage
Le Snake Case (ou pothole_case) est une convention de nommage qui consiste à séparer les mots par des underscores (_) et de mettre toutes les lettres en minuscules.
Exemple de code en Snake Case
En Python
def ma_fonction():
print("Cette fonction écrit cette phrase")
Kebab Case
Forme : convention-de-nommage
Le Kebab Case (ou dash-case ou lisp-case ou spinal-case) est une convention de nommage qui consiste à relier les mots avec des tirets (-) en mettant toutes les lettres en minuscule.
Exemples de code en Kebab Case
En lisp
(defun -reverse (list)
(let ((return-value))
(dolist (e list) (push e return-value))
return-value))
En HTML
<div id="ma-div"></div>
En CSS
mon-element-css {
...;
}
Flat Case
Forme : conventiondenommage
Le Flat Case est une convention de nommage qui consiste à coller tous les mots ensemble avec toutes leurs lettres en minuscule.
Exemple de code en Flat Case
En HTML
<textarea></textarea>
Upperflat Case
Forme : CONVENTIONDENOMMAGE
Le Upperflat Case est une convention de nommage qui consiste à coller tous les mots ensemble et mettre les lettres en majuscule.
On le retrouve souvent dans les tags de vieilles pages HTML. En 2023, on écrit plutôt les éléments html en flat case (minuscule).
Exemple de code en Upperflat Case
En HTML
<textarea></textarea>
Screaming Snake Case
Forme : CONVENTION_DE_NOMMAGE
Le Screaming Snake Case (ou Macro Case ou Constant Case) est une convention de nommage qui consiste à relier les mots avec un underscore (_) et à mettre toutes les lettres en majuscule.
On le retrouve dans les noms de variables globales dans beaucoup de langages de programmation.
Exemples de code en Screaming Snake Case
En JavaScript
const MA_VARIABLE_GLOBALE = "..."
En C
int BUFFER_SIZE = 42;
Camel Snake Case
Forme : convention_De_Nommage
Le Camel Snake Case est une convention de nommage qui consiste à relier tous les mots avec des barres en bas (_) et de mettre la première lettre de chaque mot en majuscule sauf la première qui reste en minuscule.
Pascal Snake Case
Forme : Convention_De_Nommage
Le Pascal Snake Case est une convention de nommage qui consiste à relier tous les mots avec des barres en bas (_) et de mettre la première lettre de chaque mot en majuscule.
Cobol Case
Forme : CONVENTION-DE-NOMMAGE
TWO-WORDS TRAIN-CASE, COBOL-CASE, SCREAMING-KEBAB-CASE
Exemple de code en Cobol Case
En COBOL
01 GROUP-VAR.
05 SUBVAR-1 PIC 9(3) VALUE 1337.
05 SUBVAR-2 PIC X(15) VALUE 'Comment'.
05 SUBVAR-3 PIC X(15) VALUE 'Coder'.
05 SUBVAR-4 PIC X(15) VALUE 'Com'.
HTTP Header Case
Forme : Convention-De-Nommage
Le HTTP Header Case (ou “Train-Case”) est une convention de nommage qui consiste à relier les mots ensemble avec des tirets (-) en mettant la premiere lettre de chaque mots en majuscule.
On retrouve le plus fréquemment cette forme dans les Headers des requêtes qu’on envoie.
Exemples de code en HTTP Header Case
En JavaScript
const content = "Comment Coder"
const mesHeaders = new Headers({
"Content-Type": "text/plain",
"Content-Length": content.length.toString(),
"X-Custom-Header": "ProcessThisImmediately",
})
En Python
import requests
import json
url = "https://www.commentcoder.com"
headers = {
"Content-Type": "application/json; charset=utf-8"
}
data = {
"id": 42,
"name": "Comment Coder",
}
response = requests.post(url, headers=headers, json=data)
print("Status Code", response.status_code)
print("JSON Response ", response.json())
Convention de nommage par langage
De manière générale :
- On utilisera le Pascal Case pour les noms de classes
- Le Screaming Snake Case pour les noms de constante
- Un mix de Snake ou Camel case pour les noms de fonctions et de variables en fonction du langage
Langage | Pascal | Camel | Snake |
---|---|---|---|
JavaScript | Classes | ||
Python | Classes | Fonctions & Variables | |
Java | Classes | Fonctions & Variables | |
C# | Classes | Fonctions & Variables | |
C++ | Tout | ||
C | Tout | ||
Go | Si exporté | Scope Courant | |
Rust | Struct, Trait & Enum | Variables | |
Ruby | Classes | Fonctions & Variables | |
Swift | Classes | Fonctions |
Aller plus loin dans les conventions de nommage
Bravo ! Vous savez maintenant quelles sont les différentes conventions de nommage. Vous savez aussi quand et comment les utiliser en fonction du langage de programmation que vous utilisez et du cas dans lequel vous vous trouvez.
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.