Conventions de nommage .NET pour EditorConfig.NET naming conventions for EditorConfig

Les conventions de nommage concernent le nommage d’éléments de code tels que les classes, les propriétés et les méthodes.Naming conventions concern the naming of code elements such as classes, properties, and methods. Par exemple, vous pouvez spécifier que les membres publics doivent être en majuscules ou que les méthodes asynchrones doivent se terminer par "Async".For example, you can specify that public members must be capitalized, or that asynchronous methods must end in "Async". Vous pouvez appliquer ces règles en les spécifiant dans un fichier .editorconfig.You can enforce these rules by specifying them in an .editorconfig file. Les violations des règles de nommage s’affichent soit dans la liste d’erreurs, soit sous forme de suggestion sous le nom, selon la gravité choisie pour vos règles.Naming rule violations appear either in the Error List or as a suggestion under the name, depending on the severity you choose for your rule. Il n’est pas nécessaire de générer le projet pour afficher les violations.There is no need to build the project in order to see violations.

Les conventions de nommage doivent être classées de la plus spécifique à la moins spécifique dans le fichier .editorconfig.Naming conventions should be ordered from most-specific to least-specific in the .editorconfig file. La première règle applicable rencontrée est la seule règle appliquée.The first rule encountered that can be applied is the only rule that is applied.

Pour chaque convention de nommage, vous devez spécifier les symboles auxquels elle s’applique, un style de nommage et un niveau de gravité pour l’application de la convention, en utilisant les propriétés décrites ci-dessous.For each naming convention, you must specify the symbols it applies to, a naming style, and a severity for enforcing the convention, using the properties described below. L’ordre des propriétés n’est pas important.The order of the properties is not important.

Pour commencer, choisissez un titre pour votre règle de nommage que vous utiliserez dans chacune des propriétés nécessaires pour décrire complètement la règle.To begin, choose a title for your naming rule that you will use in each of the properties that are needed to fully describe the rule. Par exemple, public_members_must_be_capitalized est un nom descriptif correct pour une règle de nommage.For example, public_members_must_be_capitalized is a good, descriptive name for a naming rule. Nous allons nous référer au titre que vous choisissez par <namingRuleTitle> dans les sections qui suivent.We'll refer to the title you choose as <namingRuleTitle> in the sections that follow.

SymbolesSymbols

Tout d’abord, identifiez un groupe de symboles auxquels appliquer la règle de nommage.First, identify a group of symbols to apply the naming rule to. Cette propriété se présente sous la forme suivante :This property has the following format:

dotnet_naming_rule.<namingRuleTitle>.symbols = <symbolTitle>

Donnez un nom au groupe de symboles en remplaçant la valeur < symbolTitle> par un titre descriptif, par exemple public_symbols.Give a name to the group of symbols by replacing the <symbolTitle> value with a descriptive title, for example public_symbols. Vous allez utiliser la valeur <symbolTitle> dans les noms des trois propriétés qui décrivent les symboles auxquels la règle est appliquée (types de symboles, niveaux d’accessibilité et modificateurs).You'll use the <symbolTitle> value in the three property names that describe which symbols the rule is applied to (kinds of symbol, accessibility levels, and modifiers).

Types de symbolesKinds of symbols

Pour décrire le type de symboles auquel appliquer la règle de nommage, spécifiez une propriété au format suivant :To describe the kind of symbols to apply the naming rule to, specify a property in the following format:

dotnet_naming_symbols.<symbolTitle>.applicable_kinds = <values>

La liste suivante répertorie les valeurs autorisées, et vous pouvez spécifier plusieurs valeurs en les séparant par une virgule.The following list shows the allowable values, and you can specify multiple values by separating them with a comma.

  • * (Utilisez cette valeur pour spécifier tous les symboles.)* (use this value to specify all symbols)
  • classclass
  • structstruct
  • interfaceinterface
  • enumenum
  • propriétéproperty
  • méthodemethod
  • champfield
  • événementevent
  • déléguédelegate
  • parameterparameter

Niveaux d’accessibilité des symbolesAccessibility levels of symbols

Pour décrire les niveaux d’accessibilité des symboles auxquels vous voulez appliquer la règle de nommage, spécifiez un nom de propriété au format suivant :To describe the accessibility levels of the symbols you want the naming rule to apply to, specify a property name in the following format:

dotnet_naming_symbols.<symbolTitle>.applicable_accessibilities = <values>

La liste suivante répertorie les valeurs autorisées, et vous pouvez spécifier plusieurs valeurs en les séparant par une virgule.The following list shows the allowable values, and you can specify multiple values by separating them with a comma.

  • * (Utilisez cette valeur pour spécifier tous les niveaux d’accessibilité.)* (use this value to specify all accessibility levels)
  • publicpublic
  • internal ou friendinternal or friend
  • privateprivate
  • protectedprotected
  • protected_internal ou protected_friendprotected_internal or protected_friend

Note

Ne spécifiez aucun niveau d’accessibilité dans le cadre de votre convention d’affectation de noms si l’accessibilité ne s’applique pas au type de symbole que vous ciblez.Do not specify an accessibility level as part of your naming convention if accessibility is not applicable to the kind of symbol you are targeting. Par exemple, les paramètres n’ont pas de niveaux d’accessibilité.For example, parameters do not have accessibility levels. Si vous spécifiez un niveau d’accessibilité pour une convention d’affectation de noms de paramètre, votre règle d’affectation de noms ne fonctionnera pas correctement.If you specify an accessibility level for a parameter naming convention, your naming rule will not function correctly.

Modificateurs de symbolesSymbol modifiers

Pour décrire les modificateurs des symboles auxquels vous voulez appliquer la règle de nommage, spécifiez un nom de propriété au format suivant :To describe the modifiers of the symbols you want the naming rule to apply to, specify a property name in the following format:

dotnet_naming_symbols.<symbolTitle>.required_modifiers = <values>

La liste suivante répertorie les valeurs autorisées, et vous pouvez spécifier plusieurs valeurs en les séparant par une virgule.The following list shows the allowable values, and you can specify multiple values by separating them with a comma.

  • abstract ou must_inheritabstract or must_inherit
  • asyncasync
  • constconst
  • readonlyreadonly
  • static ou sharedstatic or shared

required_modifiers est une propriété facultative.required_modifiers is an optional property. Si vous omettez cette propriété, votre règle de nommage s’applique à tous les modificateurs.If you omit this property, your naming rule will apply to all modifiers.

StyleStyle

Maintenant que nous avons identifié le groupe de symboles auquel appliquer la règle de nommage, nous devons décrire le style de nommage.Now that we've identified the group of symbols to apply the naming rule to, we must describe the naming style. Un style peut stipuler que le nom a un certain préfixe ou un certain suffixe, ou que des mots individuels inclus dans le nom sont séparés par un certain caractère.A style can be that the name has a certain prefix or a certain suffix, or that individual words in the name are separated with a certain character. Vous pouvez également spécifier un style de mise en majuscules.You can also specify a capitalization style. La propriété de style se présente sous la forme suivante :The style property has the following format:

dotnet_naming_rule.<namingRuleTitle>.style = <styleTitle>

Nommez le style en remplaçant la valeur <styleTitle> par un titre descriptif, par exemple first_word_upper_case_style.Give the style a name by replacing the <styleTitle> value with a descriptive title, for example first_word_upper_case_style. Vous allez utiliser la valeur <styleTitle> dans les noms des propriétés qui décrivent le style de nommage (préfixe, suffixe, caractère de séparation de mots et mise en majuscules).You'll use the <styleTitle> value in the property names that describe the naming style (prefix, suffix, word separator character, and capitalization). Utilisez une ou plusieurs de ces propriétés pour décrire votre style.Use one or more of these properties to describe your style.

Exiger un préfixeRequire a prefix

Pour spécifier que les noms de symboles doivent commencer par certains caractères, utilisez cette propriété :To specify that symbol names must begin with certain characters, use this property:

dotnet_naming_style.<styleTitle>.required_prefix = <prefix>

Exiger un suffixeRequire a suffix

Pour spécifier que les noms de symboles doivent se terminer par certains caractères, utilisez cette propriété :To specify that symbol names must end with certain characters, use this property:

dotnet_naming_style.<styleTitle>.required_suffix = <suffix>

Exiger un certain séparateur de motsRequire a certain word separator

Pour spécifier que les mots individuels inclus dans les noms de symboles doivent être séparés par un certain caractère, utilisez cette propriété :To specify that individual words in symbol names must be separated with a certain character, use this property:

dotnet_naming_style.<styleTitle>.word_separator = <separator character>

Exiger un style de mise en majusculesRequire a capitalization style

Pour spécifier un style de mise en majuscules particulier pour les noms de symboles, utilisez cette propriété :To specify a particular capitalization style for symbol names, use this property:

dotnet_naming_style.<styleTitle>.capitalization = <value>

Les valeurs autorisées pour cette propriété sont :The allowable values for this property are:

  • pascal_casepascal_case
  • camel_casecamel_case
  • first_word_upperfirst_word_upper
  • all_upperall_upper
  • all_lowerall_lower

Note

Vous devez spécifier un style de mise en majuscules dans le cadre de votre style de nommage, sans quoi votre style de nommage risque d’être ignoré.You must specify a capitalization style as part of your naming style, otherwise your naming style might be ignored.

GravitéSeverity

Pour décrire la gravité d’une violation de votre règle de nommage, spécifiez une propriété au format suivant :To describe the severity of a violation of your naming rule, specify a property in the following format:

dotnet_naming_rule.<namingRuleTitle>.severity = <value>

Le tableau suivant montre les valeurs de gravité autorisées, ainsi que leur signification :The following table shows the allowable severity values, and what they mean:

GravitéSeverity EffetEffect
none ou silentnone or silent Quand ce style n’est pas suivi, ne rien afficher à l’utilisateur ; toutefois, le code généré automatiquement suit ce style.When this style is not being followed, do not show anything to the user; however, auto-generated code follows this style.
suggestionsuggestion Quand ce style n’est pas suivi, l’afficher à l’utilisateur comme suggestion, sous la forme de points de soulignement sur les deux premiers caractères.When this style is not being followed, show it to the user as a suggestion, as underlying dots on the first two characters. Il n’a aucun effet au moment de la compilation.It has no effect at compile time.
avertissementwarning Quand ce style n’est pas suivi, afficher un avertissement du compilateur dans la liste d’erreurs.When this style is not being followed, show a compiler warning in the Error List.
erreurerror Quand ce style n’est pas suivi, afficher une erreur du compilateur dans la liste d’erreurs.When this style is not being followed, show a compiler error in the Error List.

Note

Vous n’avez pas à générer votre projet pour afficher les violations de règle de nommage.You do not have to build your project in order to see naming rule violations. Elles apparaissent au fur et à mesure que le code est modifié, soit dans la liste d’erreurs, soit comme suggestion.They appear as code is edited, either in the Error List or as a suggestion.

ExempleExample

Le fichier .editorconfig suivant contient une convention de nommage qui spécifie que les propriétés publiques, les méthodes, les champs, les événements et les délégués doivent être mis en majuscules.The following .editorconfig file contains a naming convention that specifies that public properties, methods, fields, events, and delegates must be capitalized. Notez que cette convention de nommage spécifie plusieurs types de symboles auxquels appliquer la règle, en utilisant une virgule pour séparer les valeurs.Notice that this naming convention specifies multiple kinds of symbol to apply the rule to, using a comma to separate the values.

# Public members must be capitalized (public_members_must_be_capitalized)
[*.{cs,vb}]
dotnet_naming_rule.public_members_must_be_capitalized.symbols   = public_symbols
dotnet_naming_symbols.public_symbols.applicable_kinds           = property,method,field,event,delegate
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public
dotnet_naming_symbols.public_symbols.required_modifiers         = readonly

dotnet_naming_rule.public_members_must_be_capitalized.style    = first_word_upper_case_style
dotnet_naming_style.first_word_upper_case_style.capitalization = first_word_upper

dotnet_naming_rule.public_members_must_be_capitalized.severity = suggestion

La capture d’écran suivante montre l’effet de cette convention de nommage dans l’éditeur.The following screenshot shows the effect of this naming convention in the Editor. Deux variables publiques ont été nommées sans mettre en majuscules la première lettre.Two public variables have been named without capitalization of the first letter. L’une est const et l’autre est readonly.One is a const, and one is readonly. Étant donné que la règle de nommage s’applique uniquement aux symboles readonly, seule la variable readonly propose une suggestion de règle de nommage.Since the naming rule only applies to readonly symbols, only the readonly variable shows a naming rule suggestion.

Suggestion de règle de nommage

Remplaçons maintenant la gravité de la violation par warning :Now let's change the violation severity to warning:

dotnet_naming_rule.public_members_must_be_capitalized.severity = warning

Si vous fermez et rouvrez votre fichier de code, au lieu de voir la suggestion sous la violation de nom, vous voyez une ligne ondulée verte et un avertissement dans la liste d’erreurs :If you close and reopen your code file, instead of seeing the suggestion under the name violation, you see a green squiggly, and a warning in the Error List:

Avertissement de règle de nommage

Voir aussiSee also