Lire en anglais

Partager via


CA1711 : Les identificateurs ne doivent pas porter un suffixe incorrect

Propriété Valeur
Identificateur de la règle CA1711
Titre Les identificateurs ne doivent pas porter un suffixe incorrect
Catégorie Dénomination
Le correctif est cassant ou non cassant Rupture
Activée par défaut dans .NET 9 Non

Cause

Un identificateur a un suffixe incorrect.

Par défaut, cette règle examine uniquement les identificateurs visibles en externe, mais elle est configurable.

Description de la règle

Par convention, seuls les noms des types qui étendent certains types de base ou qui implémentent certaines interfaces, ou les types dérivés de ces types, doivent se terminer par des suffixes réservés spécifiques. Les autres noms de types ne doivent pas utiliser ces suffixes réservés.

Le tableau suivant énumère les suffixes réservés ainsi que les types de base et les interfaces auxquels ils sont associés.

En outre, les suffixes suivants ne doivent pas être utilisés :

  • Delegate
  • Enum
  • Ex ou suffixe similaire pour le distinguer d’une version antérieure du même type
  • Flag ou Flags pour les types d’énumération
  • Impl (utilisez plutôt Core)
  • New si un membre portant le même nom, mais sans le suffixe New existe déjà

Les conventions d’affectation de noms fournissent une apparence cohérente pour les bibliothèques qui ciblent le .NET common language runtime. Ces conventions réduisent la courbe d’apprentissage requise pour les nouvelles bibliothèques de logiciels et augmentent la confiance des clients que la bibliothèque a été développée par une personne disposant d’une expertise dans le développement de code managé. Pour plus d’informations, consultez Directives d’affectation de noms : classes, structs et interfaces.

Comment corriger les violations

Supprimez le suffixe du nom de type.

Quand supprimer les avertissements

Ne supprimez pas un avertissement de cette règle, sauf si le suffixe a une signification non ambiguë dans le domaine d’application.

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

C#
#pragma warning disable CA1711
// The code that's violating the rule is on this line.
#pragma warning restore CA1711

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

ini
[*.{cs,vb}]
dotnet_diagnostic.CA1711.severity = none

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Configurer le code à analyser

Utilisez l’option suivante pour configurer les parties de votre codebase sur lesquelles exécuter cette règle.

Vous pouvez configurer ces options seulement pour cette règle, ou bien pour toutes les règles auxquelles elles s'appliquent, ou encore pour toutes les règles de cette catégorie (Nommage) auxquelles elles s'appliquent. Pour plus d’informations, consultez Options de configuration des règles de qualité du code.

Inclure des surfaces d’API spécifiques

Vous pouvez configurer les parties de votre codebase sur lesquelles exécuter cette règle, en fonction de leur accessibilité, en définissant l'option api_surface. Par exemple, pour spécifier que la règle doit s’exécuter uniquement sur la surface d’API non publique, ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :

ini
dotnet_code_quality.CAXXXX.api_surface = private, internal

Notes

Remplacez la partie XXXX de CAXXXX par l’ID de la règle applicable.

Autoriser les suffixes

Vous pouvez configurer une liste de suffixes autorisés, chaque suffixe étant séparé par le caractère de canal (« | »). Par exemple, pour spécifier que la règle ne doit pas s’exécuter sur les suffixes Flag et Flags, ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :

ini
dotnet_code_quality.ca1711.allowed_suffixes = Flag|Flags

Voir aussi