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

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.

Voir aussi