Style de code

ReSharper vous aide à garder un style de code cohérent à travers vos bases de code. Les paramètres de style par défaut sont basés sur des conventions et bonnes pratiques largement acceptées ; cependant, si vos préférences personnelles ou les exigences de votre entreprise en diffèrent, vous pouvez les configurer globalement ou par solution, et partager les paramètres avec le reste de votre équipe.

Les préférences de votre style de code sont prises en considération quand ReSharper suggère des noms de symbole dans la saisie automatique du code, génère de nouveaux membres, applique les modèles de code et effectue des refactorisations.

Les violations de style de code sont détectée grâce aux inspections de code et peuvent être corrigées grâce aux correctifs rapides ou au nettoyage du code.

Le nettoyage du code applique les paramètres de style du code

Nettoyage du code

Le nettoyage du code est une fonctionnalité qui vous aide à éliminer instantanément les violations de style de code dans un ou plusieurs fichiers, dans un projet ou dans toute la solution, le tout via un seul raccourci : Ctrl+E, C.

Deux profils par défaut — Full Cleanup (qui applique tous les paramètres de style de code, sauf le style de dénomination) et Reformat Code (qui applique uniquement vos règles de mise en forme) — peuvent être utilisés ensemble via vos profils personnalisés spécifiques aux tâches.

Remise en forme du code actuellement sélectionné

Mise en forme du code

ReSharper peut remettre en forme un bloc de code arbitrairement sélectionné, tout le code du fichier en cours, tous les fichier d'un dossier, ou même tout un projet ou toute une solution, le tout en fonction de vos préférences. ReSharper fournit des options distinctes de mise en forme pour tous les langages pris en charge. La remise en forme affecte l'agencement des crochets, les lignes vides, l'encadrement des lignes et les sauts, les espaces dans divers contextes, l'indentation, les alignements de plusieurs constructions, et de nombreuses autres options que vous pouvez ajuster avec précision depuis la boîte de dialogue ReSharper Options.

La configuration contextuelle des règles de mise en forme sont disponibles en appuyant sur Alt+Entrée depuis le code sélectionné que vous devez remettre en forme. Choisissez Format Selection | Configure dans la liste des actions pour voir toutes les règles de mise en forme qui affectent le code.

Vous pouvez également utiliser le nettoyage du code pour remettre en forme le code.

Remplacer un type explicite par le mot-clé 'var'

Type implicite/explicite

L'utilisation des variables locales typées implicitement (mot-clé var) introduites avec C# 3.0 est devenue assez populaire du fait de la facilité de lecture du code qui en résulte. Par défaut, ReSharper encourage également l'utilisation du mot-clé var.

Cependant, vous pouvez modifier vos préférences et choisir d'utiliser des types explicites.

Vous pouvez également utiliser le nettoyage du code pour forcer vos préférences au niveau du typage implicite/explicite.

Utiliser un correctif rapide propriété automatique

Utilisation des propriétés automatiques

Les propriétés implémentées automatiquement (aussi appelées propriétés automatiques) permettent de déclarer d'une manière plus simple des propriétés de type sans logique supplémentaire. Par défaut, ReSharper encourage l'utilisation de propriétés automatiques dès que possible, mais ce comportement peut être configuré.

Vous pouvez utiliser un correctif rapide ou le nettoyage du code pour convertir des propriétés avec des champs de stockage en propriétés automatiques.

Correctif rapide pour définir un champ en lecture seule

Styles pour modificateurs C#

Les modificateurs C# de types et membres de type peuvent être écris dans n'importe quel ordre. Cependant, les réarranger d'une manière similaire dans tout votre code est une bonne habitude qui améliore la lisibilité du code. ReSharper vous aidera à définir l'ordre que vous voulez, ainsi qu'à trouver les modificateurs non classés et à les classer automatiquement.

De plus, ReSharper vous aide à faire respecter votre préférence au niveau de l'utilisation - ou la non utilisation - explicite des modificateurs private et internal.

Il est plutôt recommandé d'utiliser le modificateur readonly pour les champs qui sont assignés dans la déclaration ou dans un constructeur et dont les utilisations se limitent à la lecture. Par défaut, ReSharper vous suggère de créer un champ readonly si les conditions ci-dessus sont remplies.

Toutes les préférences des modificateurs peuvent être configurées et vous pouvez les appliquer avec les correctifs rapides et le nettoyage du code.

Suppression du code redondant dans la portée désirée

Supprimer les redondances du code (C# uniquement)

ReSharper fournit des douzaines d'inspections de code pour le code redondant.

La majorité de ces redondances peuvent être nettoyées sans interaction avec l'utilisateur, grâce à un correctif dans un périmètre ou à un nettoyage de code.

Lors de la suppression des redondances de code, ReSharper prend en compte tous les autres paramètres de style de code. Si des constructions de code spécifiques sont définies comme non redondante par les paramètres de style de code, elles sont laissées intactes.

Configuration d'un style de dénomination étendue

Style de nommage

ReSharper vous permet de définir des paramètres de style de nommage personnalisée pour différents langages et symboles, dont les types, les espaces de nom, les interfaces, les paramètres, les propriétés de méthodes et événements, les champs statiques et d'instance, etc.

Pour chaque sorte de symbole, vous pouvez configurer l'une des cinq options de casse, les préfixes et suffixes, les variations pour différents droits d'accès, les abréviations à préserver et d'autres options.

Toutes les violations de style de nommage sont mises en valeur dans l'éditeur et peuvent facilement être corrigées.

De plus, vous pouvez parcourir (et corriger rapidement) toutes les violations de style de dénomination dans l'intégralité de votre solution (ou dans une portée plus restreinte) depuis la fenêtre Inspection Results grâce à la fonctionnalité Find Code Issues.

Configuration d'un style pour optimiser les directives 'using'

Style d'importation d'espace de nom

Pour rendre votre code encore plus lisible, vous pouvez supprimer les redondances grâce aux directives et/ou raccourcir les références qualifiées dans vos fichiers de code C# et VB.NET. De plus, il existe plusieurs approches au niveau de l'importation des espaces de nom : vous pouvez ajouter des directives using/import ou utiliser des noms de type complètement qualifiés, vous pouvez placer les directives en haut du fichier ou dans un espace de nom, etc.

Avec ReSharper, vous pouvez rapidement détecter et supprimer les importations redondantes directement depuis l'éditeur ou grâce à un nettoyage du code, ce qui peut également vous aider à trier par ordre alphabétique les directives requises et à les intégrer dans une région.

Utilisation d'un mot-clé de type intégré C# à la place des noms de type CLR

Style de référence pour les types C# intégrés

Les mots clés de type C# et les noms de type .NET Framework (CLR) sont interchangeables pour les types C# intégrés. Si vous préférez vous en tenir à un style pour les noms de type intégrés, ReSharper peut vous aider à respecter votre préférence.

La préférence peut être configurée et vous pouvez également la faire respecter avec le nettoyage du code.

Séparation automatique de plusieurs attributs C#

Styles pour attributs C#

Plusieurs attributs de C# peuvent être écrits de différentes manières : vous pouvez joindre plusieurs attributs dans la même section de crochets ou utiliser plusieurs sections pour différents attributs. ReSharper vous permet de spécifier le style de plusieurs attributs et de faire respecter ce style dans la portée désirée :

ReSharper apporte également plusieurs règles de mise en forme pour les attributs et permet d'appliquer d'un coup toutes les préférences de style pour attributs grâce au nettoyage du code.

Suppression de qualificateurs de membre redondants

Styles pour qualificateurs de membre facultatifs

En C#, vous pouvez qualifier des membres d'instance grâce au mot-clé this, alors que les membres statiques peuvent être qualifiés grâce à un nom de type ou à un nom de type de base. Ces qualificateurs vous aident à différencier les membres cachés par des variables locales ou des paramètres de méthode. Dans tous les autres cas, ces modificateurs sont facultatifs et vous pouvez décider par vous-même si vous voulez les utiliser ou non. Par défaut, ReSharper traite tous les qualificateurs de membre facultatifs comme redondants et suggère leur suppression.

Si vous préférez utiliser ces qualificateurs facultatifs, vous pouvez configurer les paramètres de style de code correspondants. Par exemple, vous pouvez préférer qualifier les méthodes statiques avec le type où elle sont déclarées.

Suppression des parenthèses redondantes

Styles pour parenthèses optionnelles

Dans de nombreux cas, les parenthèses dans les expressions sont optionnelles. Il peut arriver qu'elles vous aident à clarifier la priorité des opérations, comme dans if ((a & b) | c). Mais d'autres fois elle ne servent à rien et ajoutent juste du code mort, comme dans var d = a + (b + c);. ReSharper vous aide à définir les endroits où les parenthèses facultatives vous seront utiles, puis à nettoyer les parenthèses redondantes ou à ajouter automatiquement des parenthèses de clarification pour les priorités des opérations peu évidentes.

Disposition des membres de type

Disposition des types et des fichiers (C# uniquement)

ReSharper peut automatiquement réorganiser les membres de type et de fichier de votre code C#. Les membres peuvent être triés, regroupés, encadrés dans des régions spécifiques, etc. en fonction de leur genre et des modificateurs d'accès. ReSharper apporte deux schémas de disposition par défaut (jeux de règles de réorganisation) et un éditeur visuel intelligent.

Remarque sur les raccourcis

Tous les raccourcis clavier indiqués sur cette page sont disponibles dans la configuration clavier "Visual Studio" par défaut de ReSharper . Pour en savoir plus sur les deux configurations clavier de ReSharper, consultez la Documentation ReSharper.