Partager via


Règles de style de code

L’analyse de style de code .NET fournit des règles qui visent à maintenir un style cohérent dans votre codebase. Ces règles ont un préfixe « IDE » dans l’ID de règle.

Les règles de style de code sont organisées dans les sous-catégories suivantes :

  • Règles de code inutiles et linguistiques

    Règles qui relatent au langage C# ou Visual Basic. Par exemple, vous pouvez spécifier des règles qui concernent l’utilisation de lors de la définition de var variables, ou si les membres expression-bodied sont préférés. Cette catégorie inclut également des règles qui recherchent du code inutile, par exemple, du code inaccessible dans des méthodes ou des champs privés, des propriétés ou des méthodes inutilisés.

  • Règles de mise en forme

    Règles qui relatent à la disposition et la structure de votre code pour en faciliter la lecture. Par exemple, vous pouvez spécifier une option de mise en forme qui définit si les espaces dans les blocs de contrôle sont préférés ou non.

  • Règles d’affectation des noms

    Règles relatives à l’affectation de noms d’éléments de code. Par exemple, vous pouvez spécifier que async les noms de méthode doivent avoir un suffixe « Async ».

  • Règles diverses

    Règles qui n’appartiennent pas à d’autres catégories.

Index

Le tableau suivant répertorie toutes les règles de style de code par ID et options, le cas échéant.

Identificateur de la règle Intitulé Option
IDE0001 Simplifier le nom
IDE0002 Simplifier l’accès au membre
IDE0003 Supprimer la qualification this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Supprimer le cast inutile
IDE0005 Supprimer les instructions Import inutiles
IDE0007 Utiliser var au lieu d’un type explicite csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Utiliser un type explicite au lieu de var csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Ajouter la qualification this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Ajouter des cas manquants à une instruction switch
IDE0011 Ajouter des accolades csharp_prefer_braces
IDE0016 Utiliser une expression throw csharp_style_throw_expression
IDE0017 Utiliser des initialiseurs d’objets dotnet_style_object_initializer
IDE0018 Déclaration de variable inline csharp_style_inlined_variable_declaration
IDE0019 Utiliser les critères spéciaux pour éviter la valeur as suivie d’une vérification null csharp_style_pattern_matching_over_as_with_null_check
IDE0020 Utiliser des critères spéciaux pour éviter la vérification is suivie d’un cast (avec une variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Utiliser un corps d’expression pour les constructeurs csharp_style_expression_bodied_constructors
IDE0022 Utiliser un corps d’expression pour les méthodes csharp_style_expression_bodied_methods
IDE0023 Utiliser un corps d’expression pour les opérateurs de conversion csharp_style_expression_bodied_operators
IDE0024 Utiliser un corps d'expression pour les opérateurs csharp_style_expression_bodied_operators
IDE0025 Utiliser un corps d’expression pour les propriétés csharp_style_expression_bodied_properties
IDE0026 Utiliser un corps d’expression pour les indexeurs csharp_style_expression_bodied_indexers
IDE0027 Utiliser un corps d’expression pour les accesseurs csharp_style_expression_bodied_accessors
IDE0028 Utiliser des initialiseurs de collections dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression (C# uniquement)
IDE0029 La vérification null peut être simplifiée dotnet_style_coalesce_expression
IDE0030 La vérification null peut être simplifiée dotnet_style_coalesce_expression
IDE0031 Utiliser la propagation nulle dotnet_style_null_propagation
IDE0032 Utiliser auto-property dotnet_style_prefer_auto_properties
IDE0033 Utiliser le nom de tuple fourni explicitement dotnet_style_explicit_tuple_names
IDE0034 Simplifier l’expression default csharp_prefer_simple_default_expression
IDE0035 Supprimer le code inacessible
IDE0036 Ordonner les modificateurs csharp_preferred_modifier_order
visual_basic_preferred_modifier_order
IDE0037 Utiliser un nom de membre déduit dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Utiliser des critères spéciaux pour éviter la vérification is suivie d’un cast (sans variable) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Utiliser une fonction locale au lieu d’une expression lambda csharp_style_prefer_local_over_anonymous_function
IDE0040 Ajouter des modificateurs d’accessibilité dotnet_style_require_accessibility_modifiers
IDE0041 Utiliser la vérification is null dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Déconstruire la déclaration de variable csharp_style_deconstructed_variable_declaration
IDE0044 Ajouter un modificateur readonly dotnet_style_readonly_field
IDE0045 Utiliser une expression conditionnelle pour l’assignation dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Utiliser une expression conditionnelle pour les instructions return dotnet_style_prefer_conditional_expression_over_return
IDE0047 Supprimer les parenthèses inutiles dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0048 Ajouter des parenthèses à des fins de clarté dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0049 Utiliser les mots clés de langage au lieu de noms de type de framework pour les références de type dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Conversion de type anonyme en tuple
IDE0051 Supprimer un membre privé inutilisé
IDE0052 Supprimer un membre privé non lu
IDE0053 Utiliser un corps d’expression pour les expressions lambda csharp_style_expression_bodied_lambdas
IDE0054 Utiliser une assignation composée dotnet_style_prefer_compound_assignment
IDE0055 Corriger la mise en forme (Trop de listes ici. Consultez les options de mise en forme .NET et les options de mise en forme C#.)
IDE0056 Utiliser un opérateur d’index csharp_style_prefer_index_operator
IDE0057 Utiliser un opérateur de plages csharp_style_prefer_range_operator
IDE0058 Supprimer une valeur d’expression inutilisée csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Supprimer une attribution de valeur inutile csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference
IDE0060 Supprimer le paramètre inutilisé dotnet_code_quality_unused_parameters
IDE0061 Utiliser le corps d’expression pour des fonctions locales csharp_style_expression_bodied_local_functions
IDE0062 Créer une fonction locale static csharp_prefer_static_local_function
IDE0063 Utiliser une instruction using simple csharp_prefer_simple_using_statement
IDE0064 Rendre les champs de struct accessibles en écriture
IDE0065 Placement de la directive using csharp_using_directive_placement
IDE0066 Utiliser une expression switch csharp_style_prefer_switch_expression
IDE0070 Utilisez System.HashCode.Combine.
IDE0071 Simplifier l’interpolation dotnet_style_prefer_simplified_interpolation
IDE0072 Ajouter des cas manquants à une expression switch
IDE0073 Utiliser l’en-tête de fichier file_header_template
IDE0074 Utiliser une assignation composée de coalescence dotnet_style_prefer_compound_assignment
IDE0075 Simplifier l’expression conditionnelle dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Supprimer l’attribut global non valide SuppressMessageAttribute
IDE0077 Éviter la cible de format hérité dans SuppressMessageAttribute global
IDE0078 Utiliser les critères spéciaux csharp_style_prefer_pattern_matching
IDE0079 Élimination de la suppression inutile dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Supprimer l’opérateur de suppression inutile
IDE0081 Suppression de ByVal
IDE0082 Convertir typeof en nameof
IDE0083 Utiliser des critères spéciaux (opérateur not) csharp_style_prefer_not_pattern
IDE0084 Utiliser des critères spéciaux (opérateur IsNot) visual_basic_style_prefer_isnot_expression
IDE0090 Simplifier l’expression new csharp_style_implicit_object_creation_when_type_is_apparent
IDE0100 Supprimer l’opérateur d’égalité inutile
IDE0110 Supprimer tout discard inutile
IDE0120 Simplifier une expression LINQ
IDE0130 L’espace de noms ne correspond pas à la structure des dossiers dotnet_style_namespace_match_folder
IDE0140 Simplifier la création d’objets visual_basic_style_prefer_simplified_object_creation
IDE0150 Préférer la vérification null à la vérification de type csharp_style_prefer_null_check_over_type_check
IDE0160 Utiliser un espace de noms étendu à un bloc csharp_style_namespace_declarations
IDE0161 Utiliser un espace de noms étendu à un fichier csharp_style_namespace_declarations
IDE0170 Simplifier le modèle de propriété csharp_style_prefer_extended_property_pattern
IDE0180 Utiliser le tuple pour échanger des valeurs csharp_style_prefer_tuple_swap
IDE0200 Supprimer l’expression lambda inutile csharp_style_prefer_method_group_conversion
IDE0210 Convertir en instructions de niveau supérieur csharp_style_prefer_top_level_statements
IDE0211 Convertir en programme de style « Program.Main » csharp_style_prefer_top_level_statements
IDE0220 Ajouter un cast explicite dans la boucle foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Utiliser le littéral de chaîne UTF-8 csharp_style_prefer_utf8_string_literals
IDE0240 La directive Nullable est redondante
IDE0241 La directive nullable n’est pas nécessaire
IDE0250 Struct peut être rendu 'readonly' csharp_style_prefer_readonly_struct
IDE0251 Le membre peut être créé en « lecture seule » csharp_style_prefer_readonly_struct_member
IDE0260 Utiliser les critères spéciaux csharp_style_pattern_matching_over_as_with_null_check
IDE0270 La vérification null peut être simplifiée dotnet_style_coalesce_expression
IDE0280 Utilisez nameof.
IDE0290 Utiliser le constructeur principal csharp_style_prefer_primary_constructors
IDE0300 Utiliser une expression de collection pour tableau dotnet_style_prefer_collection_expression
IDE0301 Utiliser l’expression de collection pour vide dotnet_style_prefer_collection_expression
IDE0302 Utiliser une expression de collection pour stackalloc dotnet_style_prefer_collection_expression
IDE0303 Utiliser l’expression de collection pour Create() dotnet_style_prefer_collection_expression
IDE0304 Utiliser une expression de collection pour générateur dotnet_style_prefer_collection_expression
IDE0305 Utiliser une expression de collection pour fluent dotnet_style_prefer_collection_expression
IDE0320 Créer une fonction anonyme static csharp_prefer_static_anonymous_function
IDE0330 Préférer « System.Threading.Lock » csharp_prefer_system_threading_lock
IDE1005 Utiliser un appel délégué conditionnel csharp_style_conditional_delegate_call
IDE1006 Styles de nommage

Remarque

Il existe certaines règles qui s’affichent uniquement dans l’IDE Visual Studio, et celles-ci concernent les chaînes de modèle d’expression régulière et JSON. Pour plus d’informations, consultez JSON001, JSON002 et RE0001.

Légende

Le tableau suivant présente le type d’informations fournies pour chaque règle dans la documentation de référence.

Élément Description
Identificateur de la règle Identificateur unique de la règle. Utilisé pour configurer la gravité des règles et supprimer les avertissements dans le fichier de code.
Titre Titre de la règle.
Catégorie La catégorie pour la règle.
Sous-catégorie Sous-catégorie de la règle, telle que les règles de langage, les règles de mise en forme ou les règles d’affectation de noms.
Langages applicables Langages .NET applicables (C# ou Visual Basic), ainsi que la version de langue minimale, le cas échéant.
Version introduite Version du Kit de développement logiciel (SDK) .NET ou de Visual Studio lors de l’introduction de la règle pour la première fois.
Options Toutes les options disponibles pour la règle.

Voir aussi