Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare une entreprise Scribd logo
AMBIENT INTELLIGENCE
#mstechdays techdays.microsoft.fr/tour
tech days•
2015tour
Améliorez la qualité de
votre code avec Roslyn !
Christophe HERAL
@ChrisHeral
cheral@neotech-solutions.fr
tech.days tour 2015#mstechdays
Consultant .NET et agiliste chez Neotech Solutions
Co-organisateur de l’Agile Tour Bordeaux
Co-organisateur d’Agile .NET Bordeaux
Et surtout :
Artisan logiciel
Améliorez la qualité de votre code avec Roslyn !
tech.days tour 2015#mstechdaysTitre session pied de page
tech.days tour 2015#mstechdays
« La qualité d’aujourd’hui
est la productivité de demain. »
Adage qui se transmet
d’Extreme Programmer
à Extreme Programmer
Améliorez la qualité de votre code avec Roslyn !
Clean Code
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Méthodes longues / Grosses classes
Longue liste de paramètres
Code dupliqué
Code mort
Nombres magiques
Utilisation de switch
GOTO / Codes de retour d’erreur
Noms de méthodes avec ET/OU
Commentaires
Navigation transitive
Généralité spéculative
Séparation verticale
Héritage parallèle
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Pair programming
Revue de code Avec des outils
(ou non qualité…)
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Analyse des binaires
Analyse du code source
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Qui l’utilise ?
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Qui crée ses propres règles ?
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Changement majeur
Un vaporware ?
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
• Symboles
• Vocabulaire
• Syntaxe
• Sémantique
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
« Ecriture de programmes qui
manipulent des données décrivant
elles-mêmes des programmes. »
Définition de Wikipedia.fr
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
2 utilisations principales
• Génération de code
• Analyse de code
tech.days tour 2015#mstechdaysTitre session pied de page
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Fonctionnalités de Visual Studio 2015
Compilateur « boîte blanche »
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Accès à l’arbre syntaxique
Fidèle au code source
En liaison avec celui-ci
Accès depuis le menu
« Others Windows »
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Faire un diagnostic Proposer un Code Fix
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Choix du template « Diagnostic with Code Fix »
Distribution sous 2 formes
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Implémentation d’une règle StyleCop
SA1028 - CodeMustNotContainTrailingWhitespace
Une ligne de code ne doit pas terminer par un espace ou une tabulation.
Cas de tests :
- Code vide
- Espace après un appel de méthode
- Espace après une déclaration de variable
- Espace après un commentaire mono-ligne
- …
Code Fix
Suppression des
caractères d’espacement
superflus en fin de ligne.
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Démo :
DiagnosticAnalyzer
SA1028
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Démo :
CodeFixProvider
SA1028
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
Démo :
Utilisation de la règle
tech.days tour 2015#mstechdays
 Github officiel : https://github.com/dotnet/roslyn
 .NET Analyzers : https://github.com/DotNetAnalyzers
 Roslyn Tester : https://www.nuget.org/packages/RoslynTester
 Blogs :
 https://ovaismehboob.wordpress.com/2014/09/29/writing-diagnostic-
with-code-fix-using-roslyn-net-compiler-platform/
 http://blog.thomaslebrun.net/2014/11/roslyn-implement-the-use-var-
feature-using-a-visual-studios-extension
 http://www.informit.com/articles/article.aspx?p=2301258&seqNum=2
Améliorez la qualité de votre code avec Roslyn !
tech.days tour 2015#mstechdaysAméliorez la qualité de votre code avec Roslyn !
@ChrisHeral
© 2015 Microsoft Corporation. All rights reserved.
#mstechdays techdays.microsoft.fr/tour
tech days•
2015tour
#ns_expert www.neotech-solutions.fr

Contenu connexe

[Techdays Tour 2015] Améliorez la qualité de votre code avec Roslyn !

Notes de l'éditeur

  1. La qualité n’est pas négociable pour une application professionnelle.
  2. Nécessité de métriques et d'indicateurs pour mesurer la qualité
  3. Pourquoi si peu de monde crée ses règles : règles existantes suffisantes, pas facile d’analyser le code (réflexion), DLL à installer sur chaque poste de dév.
  4. Pourquoi si peu de monde crée ses règles : règles existantes suffisantes, pas facile d’analyser le code (réflexion), DLL à installer sur chaque poste de dév.
  5. Considérer le code comme de la donnée
  6. Considérer le code comme de la donnée Méta = au delà
  7. Par opposition au compilateur Black Box
  8. Avec test
  9. Ecriture du test du Code Fix + le Code Fix
  10. Ecriture du test du Code Fix + le Code Fix
  11. ~3 min