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.
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.