Partager via


Langage et règles inutiles

Les règles de langage de style code affectent la façon dont les différentes constructions des langages de programmation .NET, par exemple, les modificateurs et les parenthèses, sont utilisées.

Cette catégorie inclut également des règles qui identifient les parties de la base de code qui sont inutiles et qui peuvent être refactorisées ou supprimées. La présence de code inutile indique l’un des problèmes suivants :

  • Lisibilité : code qui dégrade inutilement la lisibilité.
  • Maintenabilité : code qui n’est plus utilisé après la refactorisation et qui est inutilement maintenu.
  • Performances : calcul inutile qui n’a aucun effet secondaire et entraîne une surcharge de performances inutile.
  • Fonctionnalité : problème fonctionnel dans le code entraînant la redondance du code requis. Par exemple, IDE0060 indique les paramètres inutilisés où la méthode ignore accidentellement un paramètre d’entrée.

Les règles de langage sont réparties dans les catégories suivantes :

  • Règles de style .NET : règles qui s’appliquent à la fois à C# et à Visual Basic. Les noms d’options pour ces règles commencent par le préfixe dotnet_style_.
  • Règles de style C# : règles spécifiques au code C#. Les noms d’options pour ces règles commencent par le préfixe csharp_style_.
  • Règles de style Visual Basic : règles spécifiques au code Visual Basic. Les noms d’options pour ces règles commencent par le préfixe visual_basic_style_.

Format de l’option

La plupart des règles de langage ont une ou plusieurs options associées pour personnaliser le style préféré. Par exemple, Utiliser une instruction « using » simple (IDE0063) présente l’option associée csharp_prefer_simple_using_statement qui vous permet de définir si vous préférez une déclaration using ou une instruction using. La règle applique les options que vous choisissez à un niveau spécifié, par exemple, un avertissement ou une erreur.

Les options pour les règles de langue peuvent être spécifiées dans un fichier config au format suivant :

option_name = value (Visual Studio 2019 et ultérieur)

ou

option_name = value:severity

  • Valeur

    Pour chaque convention de langage, vous spécifiez une valeur qui définit si ou quand favoriser ce style. De nombreuses règles acceptent une valeur de true (préférer ce style) ou false (ne pas préférer ce style). D’autres règles acceptent des valeurs telles que when_on_single_line ou never.

  • Gravité (facultatif dans Visual Studio 2019 et versions ultérieures)

    La seconde partie de la règle spécifie le niveau de gravité pour la règle. Dans .NET 9 et versions ultérieures, la gravité est toujours respectée, c’est-à-dire dans les ID de développement et pendant les builds de ligne de commande. Dans .NET 8 et versions antérieures, ce paramètre de gravité est uniquement respecté dans les ID de développement, tels que Visual Studio, et non pendant la génération.

    Si vous utilisez le Kit de développement logiciel (SDK) .NET 8 ou une version antérieure et que vous souhaitez que la gravité soit respectée au moment de la génération, vous pouvez le faire de deux manières :

    • Définissez la propriété AnalysisLevel> sur <AnalysisLevelStyle> ou une valeur supérieure, ou sur preview.9.0<
    • Définissez la gravité à l’aide de la syntaxe de configuration de gravité basée sur l’ID de règle pour les analyseurs à la place. La syntaxe prend la forme dotnet_diagnostic.<rule ID>.severity = <severity>, par exemple, dotnet_diagnostic.IDE0040.severity = warning. Pour plus d’informations, consultez niveau de gravité.

Conseil

À partir de Visual Studio 2019, vous pouvez configurer des règles de style de code à partir du menu Ampoule Actions rapides après une violation de style.

Index de règle

Les règles de langage et de code inutiles sont classées en sous-catégories, telles que les préférences au niveau de l’expression, les préférences de bloc de code et les préférences de modificateur.

Préférences pour la directive using

Règles de style .NET (C# et Visual Basic) :

Règles de style C# :

Préférences relatives aux blocs de code

Règles de style C# :

Membres expression-bodied

Règles de style C# :

Préférences au niveau des expressions

Règles de style .NET (C# et Visual Basic) :

Règles de style C# :

Règles de style Visual Basic :

Préférences de champ

Règles de style .NET (C# et Visual Basic) :

Préférences de mot clé de langage par rapport aux types d’infrastructure

Règles de style .NET (C# et Visual Basic) :

Préférences relatives aux modificateurs

Règles de style .NET (C# et Visual Basic) :

Règles de style C# :

Préférences de nouvelle ligne

  • Autoriser plusieurs lignes vides (IDE2000)
  • Autoriser les instructions imbriquées sur la même ligne (IDE2001)
  • Autoriser les lignes vides entre les accolades consécutives (IDE2002)
  • Autoriser l'instruction juste après le bloc (IDE2003)
  • Autoriser une ligne vide après le signe des deux-points dans l'initialiseur du constructeur (IDE2004)
  • Autoriser une ligne vide après le jeton dans l’expression conditionnelle (IDE2005)
  • Autoriser une ligne vide après le jeton dans l’expression fléchée (IDE2006)

Préférences de vérification de valeur null

Règles de style C# :

Préférences relatives aux paramètres

Règles de style .NET (C# et Visual Basic) :

Préférences relatives aux parenthèses

Règles de style .NET (C# et Visual Basic) :

Pattern-matching preferences

Règles de style C# :

Préférences de suppression

Règles de style .NET (C# et Visual Basic) :

Préférences This. et me.

Règles de style .NET (C# et Visual Basic) :

Préférences var

Règles de style C# :

Voir aussi