Quelles sont les Conventions de Nommage en programmation ?

Article publié le et mis à jour le .

Quelles sont les Conventions de Nommage en programmation ?

Vous apprenez un nouveau langage et vous voulez respecter sa norme ? Vous ne comprenez pas pourquoi on écrit les mots d’une certaine manière en programmation ?

Ne pas connaître les conventions de nommage peut être un vrai handicap pour écrire du code propre, surtout quand on apprend à coder. Mais pas de panique, je vous dis tout dans cet article.

Une convention de nommage sert à écrire le nom des variables, des fonctions, des constantes et des classes de la même manière pour un langage donné.

Les 3 conventions de nommage les plus fréquent trouvées sont :

  • Le Pascal Case
  • Le Camel Case
  • Le Snake Case

Il existe aussi des conventions de nommages plus exotiques ou moins souvent trouvées en programmation. Parmi celles ci, on retrouve le Kebab Case ou encore des mix des Pascal, Snake ou Camel Case.

Voyons ensemble la liste complète des conventions de nommage.

Pascal Case

Forme : ConventionDeNommage

Le Pascal Case (ou UpperCamelCase ou StudlyCase) est une convention de nommage qui consiste à mettre tous les premières lettres de chaque mot en majuscule et de les coller.

On le retrouve principalement dans les noms de classes dans des langages comme Python, JavaScript, C#, Java ou encore Ruby.

Exemples de code en Pascal Case

En Python

class NomDeMaClasse:
	pass

En JSX (React)

class NomDeMaClasse extends React.Component {
  render() {
    return <div>Hello World!</div>
  }
}

Camel Case

Forme : conventionDeNommage

Le Camel Case (ou (lower) camelCase ou dromedaryCase) est une convention de nommage qui consiste à mettre uniquement les lettres en début de chaque mot en majuscule sauf la première qui reste en minuscule.

Exemple de code en Camel Case

En JavaScript

function maFonctionJavaScript(p1, p2) {
  return p1 * p2
}

Snake Case

Forme : convention_de_nommage

Le Snake Case (ou pothole_case) est une convention de nommage qui consiste à séparer les mots par des underscores (_) et de mettre toutes les lettres en minuscules.

Exemple de code en Snake Case

En Python

def ma_fonction():
 print("Cette fonction écrit cette phrase")

Kebab Case

Forme : convention-de-nommage

Le Kebab Case (ou dash-case ou lisp-case ou spinal-case) est une convention de nommage qui consiste à relier les mots avec des tirets (-) en mettant toutes les lettres en minuscule.

Exemples de code en Kebab Case

En lisp

(defun -reverse (list)
    (let ((return-value))
      (dolist (e list) (push e return-value))
      return-value))

En HTML

<div id="ma-div"></div>

En CSS

mon-element-css {
  ...;
}

Flat Case

Forme : conventiondenommage

Le Flat Case est une convention de nommage qui consiste à coller tous les mots ensemble avec toutes leurs lettres en minuscule.

Exemple de code en Flat Case

En HTML

<textarea></textarea>

Upperflat Case

Forme : CONVENTIONDENOMMAGE

Le Upperflat Case est une convention de nommage qui consiste à coller tous les mots ensemble et mettre les lettres en majuscule.

On le retrouve souvent dans les tags de vieilles pages HTML. En 2023, on écrit plutôt les éléments html en flat case (minuscule).

Exemple de code en Upperflat Case

En HTML

<textarea></textarea>

Screaming Snake Case

Forme : CONVENTION_DE_NOMMAGE

Le Screaming Snake Case (ou Macro Case ou Constant Case) est une convention de nommage qui consiste à relier les mots avec un underscore (_) et à mettre toutes les lettres en majuscule.

On le retrouve dans les noms de variables globales dans beaucoup de langages de programmation.

Exemples de code en Screaming Snake Case

En JavaScript

const MA_VARIABLE_GLOBALE = "..."

En C

int BUFFER_SIZE = 42;

Camel Snake Case

Forme : convention_De_Nommage

Le Camel Snake Case est une convention de nommage qui consiste à relier tous les mots avec des barres en bas (_) et de mettre la première lettre de chaque mot en majuscule sauf la première qui reste en minuscule.

Pascal Snake Case

Forme : Convention_De_Nommage

Le Pascal Snake Case est une convention de nommage qui consiste à relier tous les mots avec des barres en bas (_) et de mettre la première lettre de chaque mot en majuscule.

Cobol Case

Forme : CONVENTION-DE-NOMMAGE

TWO-WORDS TRAIN-CASE, COBOL-CASE, SCREAMING-KEBAB-CASE

Exemple de code en Cobol Case

En COBOL

01 GROUP-VAR.
	05 SUBVAR-1 PIC 9(3) VALUE 1337.
	05 SUBVAR-2 PIC X(15) VALUE 'Comment'.
	05 SUBVAR-3 PIC X(15) VALUE 'Coder'.
	05 SUBVAR-4 PIC X(15) VALUE 'Com'.

HTTP Header Case

Forme : Convention-De-Nommage

Le HTTP Header Case (ou “Train-Case”) est une convention de nommage qui consiste à relier les mots ensemble avec des tirets (-) en mettant la premiere lettre de chaque mots en majuscule.

On retrouve le plus fréquemment cette forme dans les Headers des requêtes qu’on envoie.

Exemples de code en HTTP Header Case

En JavaScript

const content = "Comment Coder"
const mesHeaders = new Headers({
  "Content-Type": "text/plain",
  "Content-Length": content.length.toString(),
  "X-Custom-Header": "ProcessThisImmediately",
})

En Python

import requests
import json

url = "https://www.commentcoder.com"

headers = {
	"Content-Type": "application/json; charset=utf-8"
}

data = {
    "id": 42,
    "name": "Comment Coder",
}

response = requests.post(url, headers=headers, json=data)

print("Status Code", response.status_code)
print("JSON Response ", response.json())

Convention de nommage par langage

De manière générale :

  • On utilisera le Pascal Case pour les noms de classes
  • Le Screaming Snake Case pour les noms de constante
  • Un mix de Snake ou Camel case pour les noms de fonctions et de variables en fonction du langage
Langage Pascal Camel Snake
JavaScript Classes
Python Classes Fonctions & Variables
Java Classes Fonctions & Variables
C# Classes Fonctions & Variables
C++ Tout
C Tout
Go Si exporté Scope Courant
Rust Struct, Trait & Enum Variables
Ruby Classes Fonctions & Variables
Swift Classes Fonctions

Aller plus loin dans les conventions de nommage

Bravo ! Vous savez maintenant quelles sont les différentes conventions de nommage. Vous savez aussi quand et comment les utiliser en fonction du langage de programmation que vous utilisez et du cas dans lequel vous vous trouvez.