Recherche…


Introduction

Cette rubrique présente certaines conventions de nommage de base utilisées lors de l'écriture dans le langage C #. Comme toutes les conventions, elles ne sont pas appliquées par le compilateur, mais assureront la lisibilité entre les développeurs.

Pour obtenir des directives complètes sur la conception de .NET Framework, consultez docs.microsoft.com/dotnet/standard/design-guidelines .

Remarques

Choisissez des noms d'identifiant facilement lisibles

Par exemple, une propriété nommée HorizontalAlignment est plus lisible en anglais que AlignmentHorizontal.

Favoriser la lisibilité sur la brièveté

Le nom de la propriété CanScrollHorizontally est meilleur que ScrollableX (une référence obscure à l'axe X).

Évitez d'utiliser des traits de soulignement, des tirets ou tout autre caractère non alphanumérique.

N'utilisez pas de notation hongroise

La notation hongroise est la pratique consistant à inclure un préfixe dans les identificateurs pour coder certaines métadonnées relatives au paramètre, telles que le type de données de l'identificateur, par exemple string strName .

Evitez également d'utiliser des identifiants en conflit avec les mots-clés déjà utilisés dans C #.

Abréviations et acronymes

En général, vous ne devez pas utiliser d’abréviations ou d’acronymes; ceux-ci rendent vos noms moins lisibles. De même, il est difficile de savoir quand on peut supposer qu'un acronyme est largement reconnu.

Conventions de capitalisation

Les termes suivants décrivent différentes manières d’identifier les cas.

Pascal Casing

La première lettre de l'identifiant et la première lettre de chaque mot concaténé ultérieur sont en majuscules. Vous pouvez utiliser la casse Pascal pour les identificateurs de trois caractères ou plus. Par exemple: BackColor

Camel Casing

La première lettre d'un identifiant est en minuscule et la première lettre de chaque mot concaténé ultérieur est en majuscule. Par exemple: backColor

Majuscule

Toutes les lettres de l'identifiant sont en majuscules. Par exemple: IO


Règles

Lorsqu'un identifiant est constitué de plusieurs mots, n'utilisez pas de séparateurs, tels que des traits de soulignement ("_") ou des tirets ("-"), entre les mots. Au lieu de cela, utilisez le boîtier pour indiquer le début de chaque mot.

Le tableau suivant résume les règles de capitalisation pour les identificateurs et fournit des exemples pour les différents types d'identificateurs:

Identifiant Cas Exemple
Variable locale chameau carName
Classe Pascal AppDomain
Type d'énumération Pascal ErrorLevel
Valeurs d'énumération Pascal Erreur fatale
un événement Pascal ValueChanged
Classe d'exception Pascal WebException
Champ statique en lecture seule Pascal RedValue
Interface Pascal IDisposable
Méthode Pascal ToString
Espace de noms Pascal System.Drawing
Paramètre chameau typeName
Propriété Pascal Couleur de fond

Plus d'informations peuvent être trouvées sur MSDN .

Interfaces

Les interfaces doivent être nommées avec des noms ou des syntagmes nominaux, ou des adjectifs décrivant le comportement. Par exemple, IComponent utilise un nom descriptif, ICustomAttributeProvider utilise une expression nominale et IPersistable utilise un adjectif.

Les noms d'interface doivent être précédés de la lettre I pour indiquer que le type est une interface et que le cas Pascal doit être utilisé.

Vous trouverez ci-dessous des interfaces correctement nommées:

public interface IServiceProvider
public interface IFormatable

Champs privés

Il existe deux conventions communes pour les champs privés: camelCase et _camelCaseWithLeadingUnderscore .

Affaire de chameau

public class Rational
{
    private readonly int numerator;
    private readonly int denominator;

    public Rational(int numerator, int denominator)
    {
        // "this" keyword is required to refer to the class-scope field
        this.numerator = numerator;
        this.denominator = denominator;
    }
}

Housse camel avec soulignement

public class Rational
{
    private readonly int _numerator;
    private readonly int _denominator;

    public Rational(int numerator, int denominator)
    {
        // Names are unique, so "this" keyword is not required
        _numerator = numerator;
        _denominator = denominator;
    }
}

Espaces de noms

Le format général des espaces de noms est le suivant:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>].

Les exemples comprennent:

Fabrikam.Math
Litware.Security

Le préfixe des noms d'espaces de noms avec un nom de société empêche les espaces de noms de différentes sociétés de porter le même nom.

Enums

Utilisez un nom singulier pour la plupart des énumérations

public enum Volume
{
   Low,
   Medium,
   High
}

Utilisez un nom pluriel pour les types Enum qui sont des champs de bits

[Flags]
public enum MyColors
{
    Yellow = 1,
    Green = 2,
    Red = 4,
    Blue = 8
}

Remarque: Ajoutez toujours le FlagsAttribute à un type Enum de champ de bits.

Ne pas ajouter 'enum' comme suffixe

public enum VolumeEnum // Incorrect

N'utilisez pas le nom enum dans chaque entrée

public enum Color
{
    ColorBlue, // Remove Color, unnecessary
    ColorGreen,
}

Des exceptions

Ajouter 'exception' comme suffixe

Les noms d'exception personnalisés doivent être suffixés avec "-Exception".

Les exceptions ci-dessous sont correctement nommées:

public class MyCustomException : Exception
public class FooException : Exception


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow