Définition
UpperCamelCase est une convention de nommage en programmation dans laquelle chaque mot commence par une majuscule — y compris le premier, sans espace ni séparateur. Exemples : UserProfile, ShoppingCart, GestionnaireAuthentification, OrderStatus.
UpperCamelCase et PascalCase sont des synonymes stricts. Ils désignent exactement la même convention de nommage. La différence est uniquement terminologique : UpperCamelCase est le terme préféré dans les documentations techniques Microsoft (C#, .NET, TypeScript) ; PascalCase est le terme général utilisé dans les comparatifs et les articles sur les conventions de nommage.
La première fois que j’ai vu les deux termes dans deux documentations différentes pour la même chose, j’ai cru à une erreur. Ce n’en est pas une — c’est juste l’histoire du naming en programmation : deux communautés, deux noms, une seule règle.
UpperCamelCase vs lowerCamelCase : la distinction fondamentale
| Convention | Règle | Exemple | Usage principal |
|---|---|---|---|
| UpperCamelCase (= PascalCase) | Tous les mots commencent par une majuscule, y compris le premier | UserProfile | Classes, types, interfaces, composants React, enums |
| lowerCamelCase (= camelCase) | Premier mot en minuscule, mots suivants en majuscule initiale | userProfile | Variables, fonctions, méthodes, paramètres, propriétés JSON |
La différence tient à un seul caractère — la casse de la première lettre. Mais dans un langage sensible à la casse comme C#, Java ou TypeScript, UserProfile et userProfile sont deux identifiants distincts. L’un est un type, l’autre est une variable. Mélanger les deux dans un codebase, c’est la garantie d’une revue de code douloureuse.
UpperCamelCase en C# — la convention officielle Microsoft
Les C# Coding Conventions de Microsoft imposent l’UpperCamelCase pour tout ce qui est public et partagé. C’est là que le terme est le plus ancré — au point que certains développeurs .NET ne connaissent que ce nom, pas “PascalCase”.
// C# — UpperCamelCase pour classes, interfaces, enums
public class UserProfile
{
// Propriétés publiques — UpperCamelCase
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
// Méthodes publiques — UpperCamelCase
public string GetFullName()
{
return $"{FirstName} {LastName}";
}
}
// Interface — préfixe I + UpperCamelCase (convention Microsoft)
public interface IProductRepository
{
Product GetById(int id);
IEnumerable<Product> GetAll();
}
// Enum — UpperCamelCase pour le type ET les membres
public enum OrderStatus
{
Pending,
Processing,
Shipped,
Delivered
}
// Variable locale privée — lowerCamelCase (pas UpperCamelCase)
private readonly string _connectionString; // underscore + lowerCamelCaseUpperCamelCase en TypeScript
// TypeScript — UpperCamelCase pour types, interfaces, classes
interface UserProfile {
firstName: string;
lastName: string;
dateOfBirth: Date;
}
type OrderStatus = 'Pending' | 'Processing' | 'Shipped' | 'Delivered';
class ShoppingCart {
private items: CartItem[] = [];
addItem(item: CartItem): void {
this.items.push(item);
}
getTotalPrice(): number {
return this.items.reduce((sum, item) => sum + item.price, 0);
}
}
// Contraste avec lowerCamelCase pour variables et fonctions
const userProfile: UserProfile = {
firstName: 'Marie',
lastName: 'Dupont',
dateOfBirth: new Date('1992-04-15')
};UpperCamelCase en React — la règle syntaxique
En React, l’UpperCamelCase pour les composants n’est pas une recommandation : c’est une règle syntaxique. React distingue les composants personnalisés des éléments HTML natifs grâce à la majuscule initiale. Sans elle, React interprète le composant comme une balise HTML inconnue.
// ✅ UpperCamelCase — React reconnaît un composant
function ProductCard({ title, price }) {
return <div>{title} — {price}€</div>;
}
<ProductCard title="T-shirt" price={29.90} />
// ❌ lowerCamelCase — React interprète comme balise HTML
function productCard() { } // Pas d'erreur explicite, juste rien ne s'afficheJ’ai vu ce bug chez un développeur junior sur un projet WooCommerce headless. Le composant ne s’affichait pas, le console log ne déclenchait pas — parce que React avait silencieusement ignoré le composant mal nommé. 40 minutes de debug pour un seul caractère. Les conventions de nommage ne sont pas du style — elles sont de la logique.
UpperCamelCase = PascalCase : pourquoi deux noms ?
La question revient souvent. La réponse courte : histoire et communautés.
- PascalCase vient du langage Pascal (années 1970) qui popularisait cette convention. Le terme a été repris dans les comparatifs généraux de conventions de nommage
- UpperCamelCase est apparu pour opposer explicitement les deux variantes du camelCase : upper (première lettre en majuscule) vs lower (première lettre en minuscule)
- Microsoft a adopté UpperCamelCase dans ses C# Coding Conventions officielles — ce qui a ancré ce terme dans tout l’écosystème .NET
En pratique : si tu parles à un développeur JavaScript ou React, dis PascalCase. Si tu parles à un développeur C# ou TypeScript, les deux termes sont compris.
Vous travaillez sur un projet C#, TypeScript ou React et cherchez une architecture propre ?
M-Twice accompagne les projets e-commerce belges sur la structure technique — de l’architecture de code au déploiement en production.
C’est quoi l’UpperCamelCase ?
UpperCamelCase est une convention de nommage en programmation où chaque mot commence par une majuscule — y compris le premier, sans espace ni séparateur. Exemples : UserProfile, ShoppingCart, OrderStatus. UpperCamelCase et PascalCase sont des synonymes stricts : ils désignent exactement la même convention. Le terme UpperCamelCase est préféré dans les documentations Microsoft (C#, .NET) ; PascalCase est le terme général utilisé dans les comparatifs de conventions de nommage.
UpperCamelCase et PascalCase, c’est vraiment la même chose ?
Oui — UpperCamelCase et PascalCase sont des synonymes stricts. Ils désignent exactement la même règle : chaque mot commence par une majuscule, y compris le premier (UserProfile, ShoppingCart). La différence est uniquement terminologique : UpperCamelCase est le terme officiel dans les documentations C# et TypeScript de Microsoft ; PascalCase est le terme général utilisé dans les comparatifs de conventions de nommage et dans la documentation React.
Quelle différence entre UpperCamelCase et lowerCamelCase ?
La différence entre UpperCamelCase et lowerCamelCase tient à la casse du premier mot. UpperCamelCase (PascalCase) : tous les mots en majuscule initiale, y compris le premier — UserProfile, ShoppingCart. Utilisé pour les classes, types, interfaces, composants React. lowerCamelCase (camelCase) : premier mot en minuscule, suivants en majuscule initiale — userProfile, shoppingCart. Utilisé pour les variables, fonctions et méthodes. Dans les langages sensibles à la casse (C#, Java, TypeScript), les deux identifiants sont distincts.
Pour aller plus loin
- PascalCase — le synonyme exact d’UpperCamelCase, terme général dans les comparatifs
- camelCase — la convention complémentaire pour les variables et fonctions (lowerCamelCase)
- kebab-case — la convention pour les URLs et classes CSS
- Notre expertise e-commerce — architecture technique et développement pour e-commerçants belges

