Noms de membres de type

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 types se composent de membres, de méthodes, de propriétés, d’événements, de constructeurs et de champs. Les sections suivantes décrivent les règles de nommage des membres de type.

Noms des méthodes

Comme les méthodes permettent d’entreprendre des actions, les règles de conception exigent que les noms des méthodes soient des verbes ou des expressions verbales. Cette règle sert également à distinguer les noms de méthode des noms de propriété et de type, qui sont des expressions nominales ou adjectivales.

✓ DONNEZ des noms de méthode qui utilisent des verbes ou des syntagmes verbaux.

public class String {
    public int CompareTo(...);
    public string[] Split(...);
    public string Trim();
}

Noms des propriétés

Contrairement aux autres membres, les noms des propriétés doivent être des expressions nominales ou adjectivales. C’est parce que les propriétés font référence à des données, donc leur nom doivent le refléter. La casse Pascal est toujours utilisée pour les noms de propriété.

✓ NOMMEZ les propriétés en utilisant un substantif, un syntagme nominal ou un adjectif.

❌ N’UTILISEZ PAS des propriétés qui correspondent au nom des méthodes Get, comme dans l’exemple suivant :

public string TextWriter { get {...} set {...} } public string GetTextWriter(int value) { ... }

Ce modèle indique typiquement que la propriété doit vraiment être une méthode.

✓ NOMMEZ les propriétés de collection avec un pluriel qui décrit les éléments inclus dans la collection au lieu d’utiliser un singulier suivi des mots « Liste » ou « Collection ».

✓ NOMMEZ les propriétés booléennes dans une forme affirmative (CanSeek au lieu de CantSeek). Vous pouvez éventuellement aussi préfixer les propriétés booléennes avec « Is », « Can » ou « Has », mais uniquement si cela apporte un plus.

✓ ENVISAGEZ de donner à une propriété le même nom que son type.

Par exemple, la propriété suivante obtient et définit correctement une valeur enum nommée Color, donc la propriété est nommée Color:

public enum Color {...}
public class Control {
    public Color Color { get {...} set {...} }
}

Noms des événements

Les événements font toujours référence à une action, soit une action en cours, soit une action passée. Par conséquent, comme avec les méthodes, les événements sont nommés avec des verbes, le temps des verbes servant à indiquer l’heure où l’événement est déclenché.

✓ NOMMEZ les événements avec un verbe ou un syntagme verbal.

Par exemple, Clicked, Painting, DroppedDown, etc.

✓ DONNEZ aux événements des noms selon un concept avant/après, en utilisant les temps présent et passé.

Par exemple, un événement de fermeture déclenché avant la fermeture d’une fenêtre serait nommé Closing, tandis qu’un événement déclenché après la fermeture de la fenêtre serait nommé Closed.

❌ N’UTILISEZ PAS « Before » ou « After » comme préfixes ou suffixes pour indiquer des pré/post-événements. Utilisez les temps du présent et du passé, comme nous venons de le décrire.

✓ NOMMEZ les gestionnaires d’événements (délégués utilisés comme types d’événements) avec le suffixe « EventHandler », comme illustré dans l’exemple suivant :

public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);

✓ UTILISEZ deux paramètres nommés sender et e dans les gestionnaires d’événements.

Le paramètre d’expéditeur représente l’objet qui a déclenché l’événement. Le paramètre d’expéditeur est généralement de type object, même s’il est possible d’employer un type plus spécifique.

✓ NOMMEZ les classes d’argument d’événement avec le suffixe « EventArgs ».

Noms des champs

Les règles de nommage des champs s’appliquent à des champs publics et protégés statiques. Les champs internes et privés ne sont pas couverts par les règles, tandis que les champs d’instance publics ou protégés ne sont pas autorisés par les règles de conception de membres.

✓ UTILISEZ la casse Pascal dans les noms de champ.

✓ NOMMEZ les champs en utilisant un substantif, un syntagme nominal ou un adjectif.

❌ N’UTILISEZ PAS un préfixe pour des noms de champ.

Par exemple, n’utilisez pas « g_ » ou « s_ » pour indiquer des champs statiques.

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.

Voir aussi