camelCase vs snake_case : guide des conventions de nommage dans le code
Publié le 20/06/2025 · 4 min de lecture · Outils pour développeurs
Daniel Okonkwo — Développeur front-end et rédacteur Tech chez OneKitly
Performance web · Formats de fichiers
Vérifié à partir de 2 sources
Le camelCase joint les mots sans espaces et met une majuscule à chaque mot sauf le premier, comme firstName. Le snake_case utilise des mots en minuscules reliés par des tirets bas, comme first_name. Le PascalCase met une majuscule à chaque mot, comme FirstName, et le kebab-case relie des mots en minuscules par des traits d'union, comme first-name. Le bon choix dépend de ton langage et de son guide de style : camelCase pour les variables JavaScript, snake_case pour Python, PascalCase pour les noms de classes, kebab-case pour les URL et le CSS.
camelCase, snake_case, PascalCase et kebab-case expliqués : à quoi chacun ressemble, où c'est la convention, et comment en choisir un de façon cohérente.
Les quatre conventions en un coup d'œil
Les quatre résolvent le même problème : les identifiants ne peuvent pas contenir d'espaces, donc les noms à plusieurs mots ont besoin d'une règle de jonction. Le camelCase écrit myUserName, avec une majuscule à chaque mot sauf le premier. Le PascalCase, aussi appelé UpperCamelCase, met aussi une majuscule au premier mot, ce qui donne MyUserName. Le snake_case met tout en minuscules et relie par des tirets bas, my_user_name. Le kebab-case fait de même avec des traits d'union, my-user-name.
Les différences sont purement stylistiques pour un humain, mais pas pour une machine : myUserName et my_user_name sont des identifiants différents. C'est pourquoi la conversion entre conventions doit être délibérée, et pourquoi un écart entre le nom d'une colonne de base de données et ce qu'attend ton code est une source classique de bugs.
Où chaque convention fait loi
Les conventions sont fixées par les communautés de langages. JavaScript et Java utilisent le camelCase pour les variables et fonctions, et le PascalCase pour les classes et types. Python et Ruby privilégient le snake_case pour les variables et fonctions, réservant le PascalCase aux classes. C# emploie le PascalCase pour les méthodes et propriétés. Le kebab-case est rare dans le code car les traits d'union se lisent comme des signes moins, mais il règne sur les URL, les noms de classes CSS et les attributs HTML.
Un cas particulier est la constante. De nombreux langages écrivent les constantes de compilation en SCREAMING_SNAKE_CASE, un snake_case tout en majuscules comme MAX_RETRIES. Cela signale d'un coup d'œil que la valeur ne doit jamais changer, et c'est l'un des rares endroits où le snake_case en majuscules est idiomatique.
Choisir et convertir de façon cohérente
La règle la plus importante est la cohérence au sein d'une base de code. Ne mélange pas firstName et first_name pour le même concept. Quand tu franchis une frontière, comme lire des colonnes snake_case d'une base de données vers une application en camelCase, convertis à la frontière, à un endroit clairement nommé, plutôt que de disperser les conversions partout.
La conversion est mécanique : découpe le nom en mots, puis rejoins-les avec la règle cible. La seule difficulté est le découpage, car le camelCase n'a pas de séparateur. Un convertisseur détecte les limites de mots à chaque majuscule, tandis que le snake_case et le kebab-case se découpent sur leur séparateur, ce qui permet de faire passer un nom d'un style à l'autre de façon fiable.
Questions fréquentes
- Quelle est la différence entre camelCase et PascalCase ?
- Seule la première lettre. Le camelCase commence en minuscule (userName) ; le PascalCase met aussi le premier mot en majuscule (UserName). Le PascalCase est aussi appelé UpperCamelCase.
- Pourquoi le kebab-case n'est-il pas utilisé pour les noms de variables ?
- Parce que la plupart des langages lisent le trait d'union comme un opérateur de soustraction, donc first-name serait interprété comme first moins name. Il est sûr dans les URL, le CSS et le HTML, où le trait d'union n'est qu'un caractère.
- Quelle convention utiliser pour les champs JSON d'une API REST ?
- Il n'y a pas de règle unique, mais camelCase et snake_case sont tous deux courants. Choisis-en un, documente-le et garde tous les champs de l'API cohérents pour que les clients puissent s'y fier.
- Y a-t-il un nom pour les MAJUSCULES avec des tirets bas ?
- Oui, on l'appelle SCREAMING_SNAKE_CASE, ou snake case majuscule. C'est la convention courante pour les constantes, comme MAX_SIZE ou API_KEY.
Articles qui pourraient t'intéresser
Tous les guides →Outils similaires
Sources
Tu as repéré une erreur dans cet article ?