Conventions de nommage : le guide du développeur propre
En tant que développeur full-stack, j'ai codé cet outil après une énième session de refactoring où je devais convertir 200 variables d'un projet Python vers du JavaScript. Chaque langage a ses conventions, et les mélanger est le meilleur moyen de rendre un codebase illisible.
camelCase : JavaScript, TypeScript, Java
Le camelCase est la convention dominante pour les variables et fonctions en JavaScript/TypeScript. La première lettre est en minuscule, chaque nouveau mot commence par une majuscule : getUserData, isLoggedIn, fetchApiResponse. C'est aussi le standard pour les méthodes en Java et C#.
PascalCase : Classes et Composants React
Le PascalCase (ou UpperCamelCase) est identique au camelCase mais avec la première lettre en majuscule. C'est obligatoire pour les noms de classes en Java/C# et pour les composants React : UserProfile, AuthProvider, DataTable.
snake_case : Python, Ruby, SQL
En Python, la PEP8 impose le snake_case pour les variables et fonctions : get_user_data, is_logged_in. C'est aussi le standard pour les noms de colonnes en bases de données SQL : created_at, user_id.
kebab-case : URLs, CSS, fichiers
Le kebab-case utilise des tirets et exclusivement des minuscules. C'est le standard pour les URLs SEO-friendly (/mon-article-de-blog), les classes CSS (.btn-primary), et les noms de fichiers dans les projets Node.js (user-service.js).
CONSTANT_CASE : Constantes et variables d'environnement
Les constantes globales et variables d'environnement utilisent le SCREAMING_SNAKE_CASE : API_BASE_URL, MAX_RETRY_COUNT, DATABASE_HOST. Cette convention signale visuellement qu'une valeur ne doit jamais être modifiée.
L'impact de la casse sur la lisibilité du code
Les études d'ergonomie révèlent que le texte en MAJUSCULES réduit la vitesse de lecture de 13 à 20% par rapport à la casse mixte. Cette perte de performance s'explique par l'absence de forme de mot reconnaissable : les majuscules ont toutes la même hauteur, forçant le cerveau à déchiffrer lettre par lettre. C'est pourquoi les conventions modernes privilégient la casse mixte (camelCase, PascalCase) pour le code.
| Langage/Contexte | Variables | Classes/Types | Constantes |
|---|---|---|---|
| JavaScript/TypeScript | camelCase | PascalCase | UPPER_CASE |
| Python | snake_case | PascalCase | UPPER_CASE |
| URLs/Slugs | kebab-case | - | - |
| CSS | kebab-case | - | - |
Respecter ces conventions n'est pas qu'une question de style : c'est un signal de professionnalisme technique. Un fichier Python qui mélange getUserData() (camelCase) et get_user_profile() (snake_case) révèle immédiatement un manque de rigueur ou une méconnaissance des standards du langage.
Questions fréquentes (Dev)
Quelle convention pour un projet multi-langages ?
Suivez la convention du langage dans chaque fichier. Un fichier Python utilise snake_case, un fichier TypeScript utilise camelCase. L'important est la cohérence au sein de chaque contexte, pas à travers tout le projet.
Comment nommer les fichiers de composants React ?
Utilisez PascalCase pour le nom du fichier ET du composant : UserProfile.tsx contient export function UserProfile(). Certaines équipes utilisent kebab-case pour les fichiers (user-profile.tsx) mais c'est moins courant.
snake_case ou camelCase pour les APIs REST ?
Les APIs REST utilisent généralement snake_case dans les payloads JSON (user_id, created_at) car c'est le standard des backends Python/Ruby. Côté frontend JS, convertissez en camelCase à la réception.