CA1712 : N'ajoutez pas le nom de type en guise de préfixe à des valeurs enum
Propriété | Value |
---|---|
Identificateur de la règle | CA1712 |
Titre | N'ajoutez pas le nom de type en guise de préfixe à des valeurs enum |
Catégorie | Dénomination |
Le correctif est cassant ou non cassant | Rupture |
Activé par défaut dans .NET 8 | Non |
Cause
Une énumération contient un membre dont le nom commence par le nom de type de l’énumération.
Description de la règle
Les noms des membres d’énumération ne sont pas précédés du nom de type, car les informations de type sont censées être fournies par les outils de développement.
Les conventions de nommage fournissent une recherche commune pour les bibliothèques qui ciblent le common language runtime. Cela réduit la durée requise pour apprendre à utiliser une nouvelle bibliothèque de logiciels, et augmente la confiance des clients en ce qui concerne le développement de la bibliothèque par une personne qui a une expertise dans le développement de code managé.
Comment corriger les violations
Pour corriger une violation de cette règle, supprimez le préfixe de nom de type du membre d’énumération.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.
Exemple
L’exemple suivant montre une énumération mal nommée, suivie de la version corrigée.
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
Imports System
Namespace ca1712
Enum DigitalImageMode
DigitalImageModeBitmap = 0
DigitalImageModeGrayscale = 1
DigitalImageModeIndexed = 2
DigitalImageModeRGB = 3
End Enum
Enum DigitalImageMode2
Bitmap = 0
Grayscale = 1
Indexed = 2
RGB = 3
End Enum
End Namespace
Règles associées
- CA1711 : Les identificateurs ne doivent pas porter un suffixe incorrect
- CA1027 : Marquer les enums avec FlagsAttribute
- CA2217 : Ne marquez pas les enums avec l'attribut FlagsAttribute
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 cette option pour cette règle uniquement, pour toutes les règles auxquelles elle s’applique ou pour toutes les règles de cette catégorie (Nommage) auxquelles elle s’applique. Pour plus d’informations, consultez Options de configuration des règles de qualité du code.
Déclencheur de préfixe des valeurs d’énumération
Vous pouvez configurer le nombre de valeurs d’énumération requises pour déclencher la règle. Par exemple, pour spécifier que la règle est déclenchée si une ou plusieurs valeurs d’énumération commencent par le nom du type d’énumération, ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
Exemples :
Valeur d'option | Résumé |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
La règle est déclenchée si l’une des valeurs d’énumération commence par le nom du type d’énumération. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
La règle est déclenchée si toutes les valeurs d’énumération commencent par le nom du type d’énumération. |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
La règle est déclenchée à l’aide de l’heuristique par défaut, c’est-à-dire quand au moins 75 % des valeurs d’énumération commencent par le nom du type d’énumération. |