StyleCop avec Visual Studio 2010
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS
Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 5...
Sommaire
1. Présentation de StyleCop
2. Installation de StyleCop
3. Exécution de StyleCop
4. Le paramétrage (StyleCop Sett...
1. Présentation de StyleCop
• StyleCop analyse le code C# et impose plus de 200 règles syntaxiques qui permettent une
meil...
1. Présentation de StyleCop (suite)
• Voici les domaines couverts par les règles StyleCop :
• Disposition des éléments, de...
• Rendez-vous ici pour télécharger StyleCop : http://stylecop.codeplex.com/
• La version récupérée pour cette présentation...
2. Utilisation de StyleCop (suite)
• Pour exécuter, paramétrer StyleCop pour un projet, faites un clic droit sur le projet...
• Cliquez sur StyleCop Settings pour faire apparaître la fenêtre de configuration de StyleCop :
Groupe NOVENCIA - 25 Rue d...
26/08/2011
02/11/2011
De Alain BELUT
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63
53 13 Fax: 33 1 44 ...
02/11/2011
De Alain BELUT
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel:
+33 1 44 63 53 13 Fax: 33 1 44 63 53 14 ww...
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63
53 13 Fax: 33 1 44 63 53 14 www.novencia.com
26/08/2011
...
02/11/2011
De Alain BELUT
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63
53 13 Fax: 33 1 44 63 53 14 ww...
02/11/2011
De Alain BELUT
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS
Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 ww...
02/11/2011
De Alain BELUT
Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS
Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 ww...
Prochain SlideShare
Chargement dans…5
×

StyleCop avec visual studio 2010

2 382 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 382
Sur SlideShare
0
Issues des intégrations
0
Intégrations
339
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

StyleCop avec visual studio 2010

  1. 1. StyleCop avec Visual Studio 2010 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 02/11/2011 De Alain BELUT
  2. 2. Sommaire 1. Présentation de StyleCop 2. Installation de StyleCop 3. Exécution de StyleCop 4. Le paramétrage (StyleCop Settings) 5. Exécution de StyleCop 5.1 Exécution automatique de StyleCop à chaque compilation 5.2 Faire en sorte que les Warnings StyleCop deviennent des Erreurs 6. Ignorer des règles pour une classe spécifique 7. Conclusion Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain BELUT
  3. 3. 1. Présentation de StyleCop • StyleCop analyse le code C# et impose plus de 200 règles syntaxiques qui permettent une meilleure présentation, une meilleure lisibilité, une meilleure maintenabilité et oblige que soit documenté le code. • C’est un outil mis à disposition par Microsoft désormais en libre téléchargement sur CodePlex. Microsoft l’avait initialement imaginé pour ses propres équipes pour les développeurs C#. • Que ce soit à titre personnel ou pour travailler en équipe, StyleCop est indispensable. Pourtant quand on me l’avait imposé il y a quelques années, j’ai fortement pu m’en plaindre. Aujourd’hui, je ne peux plus m’en passer ! Et je le préconise fortement ! • Intégrer StyleCop dans un projet existant sera évidemment plus difficile que lors du lancement d’un nouveau projet. Toutefois, comme il est possible de désactiver des règles, on peut parfaitement décider de l’intégrer et de désactiver toutes les règles pour les réactiver petit à petit… Et laisser ainsi le temps aux développeurs de faire les adaptations à leur code. Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain DELUT
  4. 4. 1. Présentation de StyleCop (suite) • Voici les domaines couverts par les règles StyleCop : • Disposition des éléments, des déclarations, des expressions et des clauses de requête • Placement des accolades, parenthèses, crochets, etc • Espacement autour des mots clés et de symboles d'opérations • Interligne • Placement des paramètres de la méthode dans les déclarations de méthode ou d'appels de méthodes • Ordonnancement des éléments dans une classe • Formatage de la documentation au sein des en-têtes des éléments et des en-têtes de fichiers • Nommage des éléments, des champs et des variables • Utilisation des types intégrés • Utilisation des modificateurs d'accès • Contenu autorisé des fichiers • Le débogage du texte • L’intérêt pour un projet c’est que StyleCop oblige tous les intervenants à présenter leur code de la même façon. La lisibilité est donc la même quel que soit celui qui intervient sur telle ou telle partie du code. StyleCop va obliger les développeurs à documenter leur code ce qui facilitera la reprise par de nouveaux intervenants. Enfin, StyleCop va corriger certaines erreurs syntaxiques. Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain BELUT
  5. 5. • Rendez-vous ici pour télécharger StyleCop : http://stylecop.codeplex.com/ • La version récupérée pour cette présentation est la version 4.6 • Procéder à l’installation par défaut qui permet une intégration dans Visual Studio 2010 et MSBUILD. Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain BELUT2. Installation de StyleCop Si Visual Studio était lancé vous devrez le fermer et le relancer pour trouver StyleCop.
  6. 6. 2. Utilisation de StyleCop (suite) • Pour exécuter, paramétrer StyleCop pour un projet, faites un clic droit sur le projet voulu et vous visualiserez les options relatives à StyleCop : Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain BELUT Run StyleCop exécutera immédiatement une analyse du code. StyleCop Settings vous permet de modifier le paramétrage des règles à appliquer.
  7. 7. • Cliquez sur StyleCop Settings pour faire apparaître la fenêtre de configuration de StyleCop : Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/11/2011 De Alain BELUT4. Le paramétrage (StyleCop Settings)
  8. 8. 26/08/2011 02/11/2011 De Alain BELUT Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com Par défaut, toutes les règles sont actives (à gauche). Par défaut, le code des fichiers générés par les assistants de Visual Studio ne seront pas analysés. (et c’est préférable). Il est bon aussi de faire ignorer le code des fichiers design.cs et pour cela décochez Analyse designer files. Si on décide de modifier les règles actives, un fichier Settings.StyleCop va être généré dans le répertoire de notre application. Ce fichier n’est pas inclus dans la solution et ne dois pas l’être, par contre n’oubliez pas de l’ajouter éventuellement à votre gestionnaire de code source pour qu’il soit bien associé au code. Ce fichier surcharge le fichier de règles par défaut que vous avez dans le répertoire d’installation de StyleCop : En effet vous trouverez aussi dans son répertoire d’installation un fichier Settings.StyleCop qui contient l’ensemble des règles. Cette définition des règles s’applique pour tous les projets qui feront appels à StyleCop. Vous pouvez modifier ce fichier pour désactiver des règles au niveau global donc : les règles désactivées ici, le seront pour tous les projets qui feront appel à StyleCop. A priori, il n’est donc pas recommandé de modifier ici les règles. Il vaudra mieux désactiver des règles par projet comme nous venons de le voir. 4. Le paramétrage (StyleCop Settings) (suite)
  9. 9. 02/11/2011 De Alain BELUT Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 5. Exécution de StyleCop A ce stade pour exécuter une analyse de code avec StyleCop vous devez la demander explicitement en faisant clic droit sur le projet puis Run StyleCop. Les problèmes détectés par StyleCope vont apparaître en tant qu’Avertissements (Warnings). Heureusement nous pouvons faire en sorte d’automatiser l’exécution de StyleCop à chaque Build et nous allons voir que nous pouvons aussi faire en sorte que les Avertissements deviennent des Erreurs (dans le but d’obliger la rigueur du code).
  10. 10. Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com 26/08/2011 02/112011 De Alain BELUT 5.1 Exécution automatique de StyleCop à chaque compilation Il est possible de faire en sorte que StyleCop s’exécute à chaque Compilation du projet. Mais vous allez devoir modifier le fichier csproj du projet concerné. Faire un clic droit sur le projet puis cliquer sur Ouvrir le dossier dans l’explorateur Windows puis éditez le fichier csproj avec n’importe quel éditeur de texte (même Notepad fera l’affaire). Voici le début d’un fichier csproj. <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> […] Recherchez la ligne contenant : csharp.targets. Ajoutez ce qui suit (en rouge) juste après la ligne trouvée : <Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" /> <Import Project="$(ProgramFiles)MSBuildStyleCopv4.6StyleCop.targets" /> ATTENTION : en fonction de la version de StyleCop la ligne, ci-dessus en rouge, pourra changer. Vérifiez au préalable le chemin vers StyleCop.Targets Sauvegardez le fichier modifié. Quand vous allez retourner dans Visual Studio, si le projet était ouvert, Visual Studio vous proposera de le recharger puisque vous avez modifié son contenu. Acceptez !
  11. 11. 02/11/2011 De Alain BELUT Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com . Si vous voulez garantir que les développeurs feront l’effort d’améliorer le code, pas d’autre choix que de faire apparaître les Avertissements StyleCop en véritable Erreurs ce qui empêchera ainsi la compilation d’un code de mauvaise qualité. • Il faut de nouveau modifier le fichier csproj. (voir le point précédent pour voir comment faire) • Le fichier csproj commence ainsi : • <?xml version="1.0" encoding="utf-8"?> • <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> • <PropertyGroup> • On va ajouter dans la section <PropertyGroup>…</PropertyGroup> ceci : • <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings> • Si le projet était ouvert dans Visual Studio, il vous sera proposé de recharger le projet. Acceptez ! 5.2 Faire en sorte que les Warnings StyleCop deviennent des Erreurs
  12. 12. 02/11/2011 De Alain BELUT Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com Utilisez l’attribut SuppressMessage. Par exemple … [SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "SA1400:AccessModifierMustBeDeclared", Justification = "Global.asax par defaut")] public class Global : System.Web.HttpApplication { … Dans l’extrait ci-dessus, nous avons spécifié que la règle SA1400 devait être ignorée pour le classe Global (Global.asax.cs) SuppressMessage attend au moins 3 paramètres : la catégorie, l’identifiant du message et une justification qui explique brièvement pourquoi on ignore la règle. Conclusion Nous avons vu comment configurer un projet pour que le code soit de meilleure qualité en utilisant StyleCop et en imposant la mise en pratique des recommandations de Microsoft pour ce qui concerne la mise en forme du code. 6. Ignorer des règles pour une classe spécifique
  13. 13. 02/11/2011 De Alain BELUT Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS Tel: +33 1 44 63 53 13 Fax: 33 1 44 63 53 14 www.novencia.com Nous avons vu comment configurer un projet pour que le code soit de meilleure qualité en utilisant StyleCop et en imposant la mise en pratique des recommandations de Microsoft pour ce qui concerne la mise en forme du code. 7. Conclusion

×