Convertisseurs

Conventions de nommage en programmation : camelCase, snake_case, PascalCase et plus

Guide complet des conventions de nommage en programmation. Apprenez quand utiliser camelCase, snake_case, PascalCase, kebab-case et CONSTANT_CASE avec les règles propres à JavaScript, Python, Go, Java, CSS et plus.

Publié sur 20 mars 2026
15 min lire
Guides CaesarCipher.org

Conventions de nommage en programmation : camelCase, snake_case, PascalCase et plus

Les conventions de nommage font partie des premières choses que tout développeur doit apprendre, et aussi des sources d'incohérence les plus fréquentes dans les bases de code. Utiliser le mauvais style de casse ne provoque pas d'erreur de syntaxe, mais cela signale une mauvaise familiarité avec les idiomes d'un langage et rend le code plus difficile à lire pour les développeurs expérimentés.

Ce guide couvre toutes les grandes conventions de nommage, leurs cas d'utilisation et les règles propres à 10 langages de programmation. Utilisez notre convertisseur de casse gratuit pour transformer instantanément du texte entre tous ces formats.

Les principales conventions de nommage

camelCase

Motif : premier mot en minuscules, mots suivants avec une majuscule initiale. Aucun séparateur.

myVariableName
calculateTotalPrice
getUserById
isAuthenticated

Où l'utiliser : variables et fonctions JavaScript/TypeScript, variables et méthodes Java, noms de propriétés JSON, variables et fonctions Swift.

Pourquoi le nom camelCase : les lettres majuscules au milieu du mot ressemblent aux bosses d'un chameau.

PascalCase (UpperCamelCase)

Motif : chaque mot commence par une majuscule, y compris le premier. Aucun séparateur.

MyClassName
UserProfile
HttpRequestHandler
DatabaseConnection

Où l'utiliser : noms de classes dans presque tous les langages, noms de composants React/Vue/Angular, interfaces et types TypeScript, presque tout en C# (méthodes, propriétés, classes).

Différence clé avec camelCase : la première lettre est en majuscule. myFunction (camelCase) contre MyFunction (PascalCase).

snake_case

Motif : tout en minuscules, mots séparés par des underscores.

my_variable_name
calculate_total_price
get_user_by_id
is_authenticated

Où l'utiliser : variables, fonctions et noms de modules Python (PEP 8), variables et méthodes Ruby, variables et fonctions Rust, colonnes et tables de base de données, noms de fichiers dans de nombreux projets.

SCREAMING_SNAKE_CASE (CONSTANT_CASE)

Motif : tout en majuscules, mots séparés par des underscores.

MAX_RETRY_COUNT
DATABASE_URL
API_BASE_URL
DEFAULT_TIMEOUT_MS

Où l'utiliser : constantes dans la plupart des langages, variables d'environnement, macros de préprocesseur C/C++, champs static final en Java.

kebab-case (dash-case)

Motif : tout en minuscules, mots séparés par des traits d'union.

my-component-name
user-profile-card
border-bottom-color
my-awesome-package

Où l'utiliser : noms de classes et propriétés CSS, attributs HTML (data-*), slugs d'URL, noms de paquets npm, noms de fichiers dans de nombreux frameworks, noms de fonctions Lisp/Clojure.

Note : kebab-case ne peut pas être utilisé pour les noms de variables dans la plupart des langages, car le trait d'union est interprété comme un opérateur de soustraction.

dot.case

Motif : tout en minuscules, mots séparés par des points.

com.example.myapp
log.level.debug
spring.datasource.url

Où l'utiliser : noms de paquets Java, clés de configuration (Spring Boot, fichiers .properties), espaces de noms C#, noms de domaine.

Train-Case (HTTP-Header-Case)

Motif : chaque mot commence par une majuscule, mots séparés par des traits d'union.

Content-Type
X-Request-Id
Accept-Language
Cache-Control

Où l'utiliser : en-têtes HTTP, types MIME. C'est la seule convention courante qui met les mots en majuscule tout en utilisant des traits d'union.

Règles propres aux langages

JavaScript / TypeScript

ÉlémentConventionExemple
VariablescamelCaselet userName = "John"
FonctionscamelCasefunction getUserData()
ClassesPascalCaseclass UserProfile
Interfaces (TS)PascalCaseinterface ApiResponse
Alias de type (TS)PascalCasetype UserId = string
ConstantesCONSTANT_CASEconst MAX_RETRIES = 3
Membres d'énumération (TS)PascalCaseenum Color { Red, Blue }
Composants ReactPascalCasefunction UserCard()
Modules CSScamelCasestyles.headerContainer
Noms de fichierskebab-case ou camelCaseuser-profile.ts
Paquets npmkebab-casemy-awesome-lib

Python

ÉlémentConventionExemple
Variablessnake_caseuser_name = "John"
Fonctionssnake_casedef get_user_data():
ClassesPascalCaseclass UserProfile:
ConstantesCONSTANT_CASEMAX_RETRIES = 3
Modulessnake_caseimport user_utils
Paquetsminuscules (sans séparateur)import mypackage
Membres privés_leading_underscoreself._internal_data
Name mangling__double_leadingself.__private_var
Méthodes dunderdouble_bothdef __init__(self):

Les conventions de nommage Python sont définies dans PEP 8, le guide de style universellement accepté.

Java

ÉlémentConventionExemple
VariablescamelCaseString userName
MéthodescamelCasegetUserData()
ClassesPascalCaseclass UserProfile
InterfacesPascalCaseinterface Serializable
ConstantesCONSTANT_CASEstatic final int MAX_RETRIES
Paquetslowercase.dot.separatedcom.example.myapp
Valeurs d'énumérationCONSTANT_CASEenum Status { ACTIVE, INACTIVE }

Go

ÉlémentConventionExemple
Exporté (public)PascalCasefunc GetUser(), type Config struct
Non exporté (privé)camelCasefunc parseInput(), var count int
ConstantesPascalCase ou camelCaseconst MaxRetries = 3
Paquetsminuscules (un seul mot)package http
InterfacesPascalCase + suffixe -ertype Reader interface
AcronymesALL CAPSuserID, httpURL, sqlDB

Go utilise la capitalisation pour la visibilité : les identifiants exportés commencent par une majuscule, les non exportés par une minuscule. C'est imposé par le compilateur, pas seulement par convention.

CSS

ÉlémentConventionExemple
Propriétéskebab-casebackground-color: red
Noms de classeskebab-case.user-profile-card
Notation BEMblock__element--modifier.card__title--active
Propriétés personnalisées CSSkebab-case avec préfixe ----primary-color: blue
Variables Sasskebab-case avec $$font-size-large
Classes Tailwindkebab-casetext-sm, bg-blue-500

Rust

ÉlémentConventionExemple
Variablessnake_caselet user_name = "John"
Fonctionssnake_casefn get_user_data()
Structs/EnumsPascalCasestruct UserProfile
ConstantesSCREAMING_SNAKE_CASEconst MAX_RETRIES: u32 = 3
Modulessnake_casemod user_utils
TraitsPascalCasetrait Serialize
Noms de crateskebab-case (Cargo.toml) / snake_case (code)my-crate / my_crate

SQL

ÉlémentConventionExemple
Mots-clésUPPERCASESELECT, FROM, WHERE
Noms de tablessnake_case (singulier ou pluriel)user_profile ou user_profiles
Noms de colonnessnake_casefirst_name, created_at
Indexpréfixe ix_ix_users_email
Clés étrangèrespréfixe fk_fk_orders_user_id

Motifs de conversion courants

Lorsque vous travaillez entre langages ou systèmes, vous devez souvent convertir entre conventions de nommage :

De → VersQuand
camelCase → kebab-casePropriété JS → nom de classe CSS
camelCase → snake_caseJS/Java → Python/Ruby/Base de données
snake_case → camelCaseBase de données/API → JavaScript
PascalCase → kebab-caseNom de composant → nom de fichier
kebab-case → camelCasePropriété CSS → propriété de style JS
CONSTANT_CASE → camelCaseVariable d'environnement → objet de configuration

Exemple : une API JSON peut renvoyer user_name (snake_case), tandis que votre code JavaScript utilise userName (camelCase), votre CSS utilise .user-name (kebab-case) et votre composant React s'appelle UserName (PascalCase). Tous représentent le même concept.

Utilisez notre convertisseur de casse pour convertir instantanément entre tous ces formats sans retaper à la main.

Acronymes et abréviations

Les acronymes dans les identifiants sont traités différemment selon les langages :

LangageRègleExemple
JavaScriptMettre seulement la première lettre en majusculeuserId, htmlParser, apiUrl
GoGarder tout en majusculesuserID, htmlParser, apiURL
C#Acronymes de 2 lettres : tout en majuscules ; 3+ : PascalCaseIOStream, HtmlParser
JavaMettre seulement la première lettre en majusculeuserId, httpUrl
PythonMinuscules en snake_caseuser_id, html_parser, api_url

L'incohérence autour des acronymes est l'un des sujets de style les plus débattus. Le plus important est la cohérence au sein de votre projet.

Conventions de noms de fichiers

Langage/FrameworkConventionExemple
JavaScript/TypeScriptkebab-case ou camelCaseuser-profile.ts, userProfile.ts
Composants ReactPascalCaseUserProfile.tsx
Pythonsnake_caseuser_profile.py
JavaPascalCase (comme la classe)UserProfile.java
Gominusculesuserprofile.go
CSS/SCSSkebab-caseuser-profile.css
TestsMême nom + .test/.specuser-profile.test.ts

Références de guides de style

LangageGuide de style officiel
PythonPEP 8
JavaScriptAirbnb / Google / StandardJS
TypeScriptGoogle TypeScript Style Guide
JavaGoogle Java Style Guide
GoEffective Go (appliqué par gofmt)
RustRust API Guidelines
C#.NET Naming Guidelines
SwiftSwift API Design Guidelines
RubyRuby Style Guide
PHPPSR-12

Foire aux questions

La convention de nommage affecte-t-elle l'exécution du code ?

Dans la plupart des langages, non : myVar et my_var sont tous deux valides. L'exception est Go, où la capitalisation détermine la visibilité : MyFunc est exporté (public), myFunc ne l'est pas (privé). En CSS, les noms de classes sont sensibles à la casse, donc .MyClass et .myclass sont deux sélecteurs différents.

Quelle convention de nommage est la "meilleure" ?

Il n'existe pas de convention universellement meilleure. Suivez la convention établie pour votre langage. Utiliser snake_case en JavaScript ou camelCase en Python fonctionnera, mais cela troublera les autres développeurs et ira contre les attentes de la communauté. La cohérence à l'intérieur d'un projet compte plus que le choix précis.

Comment les linters imposent-ils les conventions de nommage ?

ESLint (JavaScript) possède la règle camelcase. Pylint (Python) applique les noms PEP 8. RuboCop (Ruby) vérifie le style de nommage. Le compilateur Go impose les règles d'export par capitalisation. La plupart des linters peuvent être configurés selon les exigences de nommage propres à votre projet.


Besoin de convertir du texte entre conventions de nommage ? Utilisez notre convertisseur de casse pour transformer instantanément entre camelCase, snake_case, PascalCase, kebab-case et plus. Pour compter les caractères et les mots dans votre code, essayez notre compteur de mots.

À propos de cet article

Cet article fait partie de notre collection de guides Convertisseurs. Explorez les outils, exemples et workflows pratiques associés sur CaesarCipher.org.

Autres Tutoriels Convertisseurs

Essayez l'outil Convertisseurs

Mettez le guide en pratique avec des outils et exemples liés à convertisseurs.

Essayez l'outil Convertisseurs