alltools.one
Programming‱
2026-02-25
‱
9 min
‱
alltools.one Team
naming-conventionsprogrammingcamelcasesnake-casecoding-style

Conventions de Nommage en Programmation — camelCase, snake_case et Au-delà

Vous ouvrez un code source pour la premiĂšre fois et vous voyez getUserName, get_user_name et GetUserName dans le mĂȘme fichier. ImmĂ©diatement, vous savez que quelque chose a mal tournĂ©. Les conventions de nommage sont l'une de ces choses qui semblent triviales jusqu'Ă  ce que vous travailliez en Ă©quipe — alors elles deviennent essentielles.

Un nommage cohĂ©rent n'est pas une question de prĂ©fĂ©rence personnelle. Il s'agit de rendre le code lisible pour la prochaine personne qui y touchera, ce qui est souvent vous-mĂȘme dans six mois.

Pourquoi les Conventions de Nommage Comptent

Trois choses se dégradent quand un projet manque de nommage cohérent :

  • La lisibilitĂ© souffre — Quand les styles de variables changent toutes les quelques lignes, votre cerveau gaspille des cycles Ă  analyser le format au lieu de comprendre la logique
  • La collaboration d'Ă©quipe se fracture — Les pull requests deviennent des champs de bataille sur le style plutĂŽt que sur le fond. L'intĂ©gration de nouveaux dĂ©veloppeurs prend plus de temps car il n'y a pas de modĂšle prĂ©visible
  • L'outillage cesse de fonctionner correctement — Les linters, l'auto-complĂ©tion, les gĂ©nĂ©rateurs de code et les outils de refactoring reposent sur des modĂšles de nommage prĂ©visibles

La convention que vous choisissez importe bien moins que d'en choisir une et de s'y tenir. Un code source avec du snake_case cohérent partout est infiniment meilleur qu'un qui mélange trois styles différents.

Le Guide Complet des Conventions de Nommage

camelCase

Le premier mot est en minuscules, et chaque mot suivant commence par une majuscule. Pas de séparateurs.

// JavaScript / TypeScript
const userName = "Alice";
let itemCount = 42;
function getUserProfile(userId) {
  return fetchData(`/users/${userId}`);
}

OĂč c'est utilisĂ© : JavaScript, TypeScript et Java utilisent camelCase pour les variables, les noms de fonctions et de mĂ©thodes. C'est aussi le standard en Swift pour les variables locales et les paramĂštres de fonctions.

PascalCase

Chaque mot commence par une majuscule. Aussi appelé UpperCamelCase.

// TypeScript / C#
class UserProfile {
  firstName: string;
  lastName: string;
}

interface DatabaseConnection {
  host: string;
  port: number;
}

// Composant React
function NavigationBar({ items }: NavProps) {
  return <nav>{/* ... */}</nav>;
}

OĂč c'est utilisĂ© : C# utilise PascalCase pour presque tout ce qui est public — classes, mĂ©thodes, propriĂ©tĂ©s. TypeScript et JavaScript l'utilisent pour les classes, interfaces, alias de types et enums. React impose PascalCase pour les noms de composants car JSX doit distinguer les composants des Ă©lĂ©ments HTML.

En Go, PascalCase a une signification spéciale : tout identifiant commençant par une majuscule est exporté (public).

snake_case

Tous les mots en minuscules, séparés par des underscores.

# Python
user_name = "Alice"
item_count = 42

def get_user_profile(user_id):
    return fetch_data(f"/users/{user_id}")

class UserProfile:
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

OĂč c'est utilisĂ© : Python utilise snake_case pour pratiquement tout sauf les noms de classes. Ruby suit le mĂȘme modĂšle. Rust utilise snake_case pour les variables, fonctions et modules. Les schĂ©mas de bases de donnĂ©es utilisent presque universellement snake_case pour les noms de tables et de colonnes.

SCREAMING_SNAKE_CASE

Tout en majuscules avec des underscores. Réservé aux constantes et valeurs qui ne doivent jamais changer.

// Constantes dans la plupart des langages
const MAX_RETRY_COUNT = 3;
const API_BASE_URL = "https://api.example.com";
const DEFAULT_TIMEOUT_MS = 5000;

OĂč c'est utilisĂ© : Presque tous les langages utilisent SCREAMING_SNAKE_CASE pour les constantes. Le format tout en majuscules est un signal universel qui dit « ne rĂ©assignez pas cette valeur ».

kebab-case

Tout en minuscules avec des tirets comme séparateurs.

/* Noms de classes CSS */
.navigation-bar {
  background-color: #1a1a2e;
}

.user-profile-card {
  border-radius: 8px;
}
# Flags CLI
npm install --save-dev eslint
git commit --no-verify

OĂč c'est utilisĂ© : CSS et HTML favorisent fortement kebab-case. Les slugs d'URL l'utilisent. Les outils en ligne de commande et les flags le suivent.

kebab-case ne peut pas ĂȘtre utilisĂ© pour les noms de variables dans la plupart des langages de programmation car le tiret est interprĂ©tĂ© comme un opĂ©rateur de soustraction.

dot.case

Mots séparés par des points.

// Noms de paquets Java
package com.example.userservice.controllers;

import org.springframework.boot.SpringApplication;

OĂč c'est utilisĂ© : Nommage de paquets Java, extensions de fichiers, clĂ©s de propriĂ©tĂ©s de configuration dans Spring Boot et frameworks similaires.

Title Case

Chaque mot principal est en majuscule. Les mots mineurs comme « et », « le » et « de » restent en minuscules.

OĂč c'est utilisĂ© : Titres d'interface, titres de pages, Ă©lĂ©ments de menu, sections de documentation et noms propres.

path/case

Mots séparés par des barres obliques, suivant les conventions du systÚme de fichiers ou des espaces de noms.

OĂč c'est utilisĂ© : Chemins du systĂšme de fichiers, chemins de modules, hiĂ©rarchies d'espaces de noms et structures de routage d'URLs.

Tableau des Conventions par Langage

LangageVariables / FonctionsClasses / TypesConstantesFichiers
JavaScript / TypeScriptcamelCasePascalCaseSCREAMING_SNAKE_CASEkebab-case ou camelCase
Pythonsnake_casePascalCaseSCREAMING_SNAKE_CASEsnake_case
GocamelCase (non exporté)PascalCase (exporté)PascalCase ou ALL_CAPSsnake_case
Rustsnake_casePascalCaseSCREAMING_SNAKE_CASEsnake_case
JavacamelCasePascalCaseSCREAMING_SNAKE_CASEPascalCase
C#camelCase (privé)PascalCase (public)PascalCasePascalCase
Rubysnake_casePascalCaseSCREAMING_SNAKE_CASEsnake_case
CSSkebab-case——kebab-case
SQLsnake_case (colonnes)—MAJUSCULES (mots-clĂ©s)snake_case
PHPcamelCasePascalCaseSCREAMING_SNAKE_CASEPascalCase

Erreurs Courantes et Comment les Corriger

1. MĂ©langer les conventions dans le mĂȘme scope

// ❌ IncohĂ©rent
const user_name = "Alice";
const itemCount = 42;
const MaxRetries = 3;

// ✅ camelCase cohĂ©rent
const userName = "Alice";
const itemCount = 42;
const maxRetries = 3;

2. Utiliser la mauvaise convention pour le langage

# ❌ Utiliser camelCase en Python
def getUserProfile(userId):
    userName = fetchUser(userId)
    return userName

# ✅ Utiliser snake_case comme Python l'attend
def get_user_profile(user_id):
    user_name = fetch_user(user_id)
    return user_name

3. Abréviations et acronymes

// ❌ Gestion incohĂ©rente des acronymes
const XMLParser = new XmlParser();
const htmlToJSON = convert(HTMLString);

// ✅ Traiter les acronymes comme des mots
const xmlParser = new XmlParser();
const htmlToJson = convert(htmlString);

4. Noms booléens sans préfixes is/has/can

// ❌ BoolĂ©en ambigu
const active = true;

// ✅ Intention claire du boolĂ©en
const isActive = true;

Conversion Automatique Entre Conventions

Quand vous travaillez entre langages, la conversion manuelle des conventions de nommage est fastidieuse et sujette aux erreurs.

Notre Convertisseur de Casse de Texte gĂšre cela automatiquement. Collez n'importe quel identifiant et convertissez-le entre camelCase, PascalCase, snake_case, kebab-case et plus en un seul clic.

Lectures Complémentaires


PrĂȘt Ă  convertir les conventions de nommage automatiquement ? Essayez notre Convertisseur de Casse de Texte — collez n'importe quel identifiant et transformez-le entre camelCase, snake_case, PascalCase, kebab-case et plus. Sans inscription, sans donnĂ©es envoyĂ©es aux serveurs, entiĂšrement gratuit.

Published on 2026-02-25
Naming Conventions — camelCase, snake_case Guide | alltools.one