Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Azra [Florent Santin]

.Net, X'Net, aucun lien de parenté V2.0

Actualités


  • MSN Alerts
    View Florent Santin's profile on LinkedIn
[VS 2010 Team Dev] Quoi de neuf dans l’analyse de code?

Une petite passe sur une autre des fonctionnalités de VS 2010 pour enrichir la série de post d’Etienne.

L’option Code Analysis est proposée depuis 2005 dans l’édition Visual Studio Team Developer.

Concrètement, il s’agit d’une évolution de FXCop s’intégrant complètement dans l’environnement de développement et dans les processus de compilation d’un serveur Team Build.

Code Analysis permet de valider que le code (au travers de son IL) respecte certaines conditions (bonnes pratiques) sélectionnées parmi une liste extensible de plus de 200 règles (sécurité, globalisation, performance…) et ceci à différents niveaux:

  • Lors de la compilation sur le poste du développeur, sous la forme d’avertissement et d’erreur; imposant ainsi de garantir la qualité du code le plus tôt possible (dans l’IDE) et souvent (à la compilation)
  • Lors d’un archivage de code dans le contrôleur de code source, pour garantir que le code présent dans le référentiel est valide d’un point de vue qualité
  • Lors de la compilation par le serveur de build pour noter et mettre en avant la qualité du livrable

Dans Visual Studio 2008…

La sélection et l’activation des règles s’effectue dans les propriétés d’un projet C# ou VB.NET, au niveau de l’onglet “Code Analysis”

image

Seul problème, il faut pour chaque projet reconfigurer les règles (ou aller faire un copier coller en mode texte dans le fichier .csproj pour récupérer et copier coller une liste existante), ce qui n’est pas très industrialisable. De plus, la première sélection des règles est toujours longue, il est rarement nécessaire de tout activer et lire la documentation des règles une à une pour démarrer peut être très très chronophage.

Quoi de neuf dans 2010?

Visual Studio Team Dev 2010 répond justement à ces deux soucis avec deux fonctionnalités:

1°) Des groupes pré-définis pour démarrage rapide

image

L’onglet d’activation des règles est toujours présent, mais il est maintenant possible d’appliquer un ensemble de règles pré-sélectionnés parmi une liste proposée par Microsoft.

image

Une fois un groupe sélectionné, il est possible de l’ouvrir pour le personnaliser (ajout / suppression de règles, fusion de groupes) pour le projet actif.

2°) La possibilité de créer des groupes de règles, et de les importer / exporter

Pour aller plus loin, il est également possible de créer votre propre ensemble de règles. Ce coup-ci, pas de stockage des règles directement dans les fichiers de définition de projet comme en 2008, mais plutôt dans un fichier externalisé lié au projet, dédié aux règles et donc plus facilement transportable.

Lors de l’ajout d’un fichier dans un projet, apparait donc maintenant un type “RuleSet”:

image

Ceci créé un fichier à l’extension “.ruleset”, qui dispose d’un éditeur assez pratique pour:

  • Sélectionner les règles
  • Filtrer sur les règles sélectionnées, sélectionnées comme erreur, sélectionnées comme avertissement, non sélectionnées (facilité d’évolution du ruleset)
  • Créer des sous groupes de règles
  • Avoir accès à la documentation de la règle directement depuis Visual Studio!!! (finit le CHM ou MSDN à ouvrir à coté pour le détail!!) => la documentation, description de l’erreur, et même un bout de code pour expliquer comment la corriger.

image

Honnêtement, je pense que ces améliorations vont grandement augmenter l’adoption de cet outil, qui va du coup pouvoir enfin être utilisé en mode industriel sur plusieurs projet.

Posted: jeudi 4 juin 2009 10:30 par azra
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

minsou a dit :

En effet je dirai que ces fonctionnalités ne sont pas du luxe !

# juin 4, 2009 13:45

Etienne Margraff a dit :

Ca poutre ! :)

# juin 4, 2009 20:12
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour assigner des droits Full Control à un groupe défini par Blog Technique de Romelard Fabrice le 04-30-2017, 09:22

- SharePoint 20XX: Script PowerShell pour exporter en CSV toutes les listes d’une ferme pour auditer le contenu avant migration par Blog Technique de Romelard Fabrice le 03-28-2017, 17:53

- Les pièges de l’installation de Visual Studio 2017 par Blog de Jérémy Jeanson le 03-24-2017, 13:05

- UWP or not UWP sur Visual Studio 2015 ? par Blog de Jérémy Jeanson le 03-08-2017, 19:12

- Désinstallation de .net Core RC1 Update 1 ou SDK de Core 1 Preview 2 par Blog de Jérémy Jeanson le 03-07-2017, 19:29

- Office 365: Ajouter un utilisateur ou groupe dans la liste des Site collection Administrator d’un site SharePoint Online via PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-24-2017, 18:52

- Office 365: Comment créer une document library qui utilise les ContentTypeHub avec PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-22-2017, 17:06

- [TFS] Supprimer en masse les dépendances à SQL Enterprise ou Developer avant de procéder à une migration par Blog de Jérémy Jeanson le 02-20-2017, 20:30

- Office 365: Attention au volume utilisé par les fichiers de Thèmes de SharePoint Online par Blog Technique de Romelard Fabrice le 02-07-2017, 18:19

- [SCVMM] Supprimer une machine bloquée par Blog de Jérémy Jeanson le 01-31-2017, 21:22