Développeur5 min de lecture
camelCase, snake_case, kebab-case : guide complet
JavaScript = camelCase, Python = snake_case, URLs = kebab-case, constantes = SCREAMING_SNAKE_CASE. La règle dans chaque langage, en un tableau.
Chaque langage de programmation impose ou recommande sa convention de nommage. Les ignorer fait tomber le linter, casse les imports et complique la revue de code.
Les 6 conventions courantes
| Convention | Exemple | Usage typique |
|---|---|---|
| camelCase | nombreDeMots | Variables JS, Java, Kotlin, Swift |
| PascalCase | NombreDeMots | Classes, composants React, types TS |
| snake_case | nombre_de_mots | Python, Ruby, colonnes SQL, fichiers Linux |
| SCREAMING_SNAKE_CASE | NOMBRE_DE_MOTS | Constantes (toutes langues) |
| kebab-case | nombre-de-mots | URLs, classes CSS, attributs HTML, npm packages |
| dot.case | nombre.de.mots | Fichiers de config (Spring, Docker) |
Convention par langage
| Langage | Variable | Fonction | Classe | Constante |
|---|---|---|---|---|
| JavaScript / TypeScript | camelCase | camelCase | PascalCase | SCREAMING_SNAKE |
| Python (PEP 8) | snake_case | snake_case | PascalCase | SCREAMING_SNAKE |
| Java | camelCase | camelCase | PascalCase | SCREAMING_SNAKE |
| Go | camelCase ou PascalCase (exporté) | idem | PascalCase | PascalCase |
| Rust | snake_case | snake_case | PascalCase | SCREAMING_SNAKE |
| CSS | kebab-case | — | — | — |
| SQL | snake_case | — | — | UPPERCASE |
Règles à retenir
- URL = kebab-case obligatoire (Google guidelines : « use hyphens to separate words »).
- Classe CSS = kebab-case (sauf BEM qui ajoute __ et --).
- JSON = camelCase côté front (convention JS), snake_case côté Python/Ruby (Django/Rails).
- Fichiers React/TSX : PascalCase (
UserCard.tsx) pour les composants.
Convertir tout un texte en minuscules