Conventions de mise en majuscules
Remarque
Ce contenu est réimprimé avec l’autorisation de Pearson Education, Inc. à partir des Instructions de conception d’une infrastructure : conventions, idiomes et modèles des bibliothèques réutilisables .NET, 2ème édition. Cette édition a été publiée en 2008, et le livre a été entièrement révisé dans la troisième édition. Certaines informations de cette page peuvent être obsolètes.
Les recommandations de ce chapitre exposent une méthode simple de cas qui d’utilisation, lorsqu’ils sont appliqués de manière cohérente, rendent les identificateurs pour les types, les membres et les paramètres faciles à lire.
Règles de mise en majuscules pour les identificateurs
Pour différencier les mots d’un identificateur, mettez en majuscule la première lettre de chaque mot de l’identificateur. N’utilisez pas de traits de soulignement pour différencier les mots, ou d’ailleurs, n’importe où dans les identificateurs. Il existe deux façons appropriées de capitaliser les identificateurs, en fonction de l’utilisation de l’identificateur :
CassePascal
casseMixte
La convention CassePascal, utilisée pour tous les identificateurs à l’exception des noms de paramètres, capitalise le premier caractère de chaque mot (y compris les acronymes sur deux lettres), comme illustré dans les exemples suivants :
PropertyDescriptor
HtmlTag
Une exception existe pour les acronymes à deux lettres dans lesquels les deux lettres sont majuscules, comme indiqué dans l’identificateur suivant :
IOStream
La convention casseMixte, utilisée uniquement pour les noms de paramètres, capitalise le premier caractère de chaque mot, à l’exception du premier mot, comme illustré dans les exemples suivants. Comme le montre également l’exemple, les acronymes à deux lettres qui commencent un identificateur à casse mixte sont tous deux en minuscules.
propertyDescriptor
ioStream
htmlTag
✔️ UTILISEZ la CassePascal pour tous les noms de membres, de types et d’espaces de noms publics composés de plusieurs mots.
✔️ UTILISEZ la casseMixte pour les noms de paramètres.
Le tableau suivant décrit les règles de mise en majuscules pour différents types d’identificateurs.
Identificateur | Casse | Exemple |
---|---|---|
Espace de noms | Pascal | namespace System.Security { ... } |
Type | Pascal | public class StreamReader { ... } |
Interface | Pascal | public interface IEnumerable { ... } |
Méthode | Pascal | public class Object { public virtual string ToString(); } |
Propriété | Pascal | public class String { public int Length { get; } } |
Événement | Pascal | public class Process { public event EventHandler Exited; } |
Champ | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
Valeur enum | Pascal | public enum FileMode { Append, ... } |
Paramètre | mixte | public class Convert { public static int ToInt32(string value); } |
Mise en majuscules des mots composés et des termes courants
La plupart des termes composés sont traités comme des mots uniques pour la mise en majuscules.
❌ NE capitalisez PAS chaque mot dans ce que l’on appelle les mots composés de forme fermée.
Il s’agit de mots composés écrits sous la forme d’un seul mot, comme plateforme. Pour les recommandations de casse, traitez un mot composé de forme fermée comme un seul mot. Utilisez un dictionnaire à jour pour déterminer si un mot composé est écrit sous forme fermée.
Pascal | mixte | Not |
---|---|---|
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
Don't |
Email |
email |
EMail |
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData, metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placeholder |
placeholder |
PlaceHolder |
SignIn |
signIn |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
Respect de la casse
Les langages qui peuvent s’exécuter sur le CLR ne sont pas nécessaires pour prendre en charge le respect de la casse, même si certains le font. Même si votre langage le prend en charge, ce n’est pas forcément le cas pour les autres langages qui peuvent accéder à votre framework. Par conséquent, toutes les API accessibles en externe ne peuvent pas s’appuyer uniquement sur la casse pour faire la distinction entre deux noms dans le même contexte.
❌ NE supposez PAS que tous les langages de programmation respectent la casse. mais ils ne le sont pas. Les noms ne peuvent pas différer par la casse seulement.
Portions © 2005, 2009 Microsoft Corporation. Tous droits réservés.
Réimprimé avec l’autorisation de Pearson Education, Inc. et extrait de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition par Krzysztof Cwalina et Brad Abrams, publié le 22 octobre 2008 par Addison-Wesley Professional dans le cadre de la série sur le développement Microsoft Windows.