Depuis la sortie de NDepend http://www.ndepend.com/ version 3.0 RTM au mois de février 2010, qui a d'ailleurs marquée une grande évolution en s'intégrant avec Visual Studio 2010, 2008 et même 2005, nous n'arrêtons pas d'avoir de nouvelles mises à jour fort utiles. C'est très encourageant. Ceci prouve que Patrick Smacchia et l'équipe de NDepend travaillait constamment sur l'amélioration de ce produit que tout bon développeur devrait avoir dans sa liste d'outils.

La première grande mise à jour datant d'il n'y a pas si long temps (Octobre), comportait l'incorporation de Context-Sensitive Help. Il s'agit d'augmenter l'apprentissage de l'outil grâce à l'aide contextuelle. Vous pouvez en apprendre d'avantage en lisant le post de Patrick ici : http://codebetter.com/blogs/patricksmacchia/archive/2010/10/11/software-learnability-increased-with-context-sensitive-help.aspx.

Je ne vais donc pas revenir sur cet aspect.

La fonctionnalité dont je veux m'intéresser est sortie au mois de Novembre avec la version 3.5 de NDepend et concerne la personnalisation des Reportings d'analyse. Je vais tester exactement ce point. Sachez que la version la plus récente est la 3.6, mais elle apporte pas mal d’optimisations sur le plan de performances dont nous n’allons pas nous intéresser dans cet article.

Tout d'abord je vais faire une analyse de mon projet avec la version 3.2, où cette fonctionnalité n'était pas encore présente. C'est un projet ASP.NET MVC 3 RC2 avec rien de particulier.

Tout d'abord, j'attache ma solution à un nouveau projet NDepend.

1_AttachingToVS

J'élimine ensuite les projets des tests unitaires car ils ne m'intéressent pas et je lance l’analyse avec l’option de construction de report.

2_Icone_Analyse

A la fin de l’analyse une page de report apparait. Bien que complète, un peu austère tout de même ! Quelques copies d’écran pour ceux qui ne connaissent pas (des extraits d’une longue page inétrminable) :

image

image

image

Et un exemple de requête CQL qui n’a pas été respecté par le code :

image

J’installe ensuite la version v3.5.0.5373 pour comparer les deux reports et je relance l’analyse.

Après l’analyse, le nouveau rapport s’affiche. La différence est flagrante. La nouvelle interface est ce qu’on appelle “User Firendly”. Un menu, bloc de résumé, les diagrammes, les métriques ainsi que les règles CQL tiennent pratiquement sur le même écran.

NDepend3.5_Summary

Bien entendu nous ne voyons que l’aperçu mais si on le souhaite nous pouvons aller dans les détails de chaque section. Les améliorations qui me plaisent personnellement sont indiqué sur l’image ci-dessus par des rectangles rouges numérotés de 1 à 5 :

  1. La zone de menu déroulant, qui permet un accès rapide à des sections qui vous intéressent. Concernant les règles “CQL Rules” vous avez tout de suite l’indication sur le nombre de règles réussies (en vert), celles qui ne sont pas respectées (en jaune) et en erreur (rouge).

Ci dessous le menu est déroulé. Vous n’avez même pas besoin d’aller dans les détails pour avoir une indications sur les règles qui ont réussi ou non.

4_NDepend_Menu

2. La deuxième zone présente le résume de l’analyse avec les informations de base. Une zone des liens d’aide est la bienvenue quand vous essayez de comprendre certains aspects de NDepend.

3. Un accès rapide à différents diagrammes qui s’ouvrent en popup.

4. Un résumé des métriques d’applications. Vous pouvez également afficher les statistiques d’application en cliquant sur le lien correspondant :

6_NDependAppStat

5. Le résumé de règles CQL. Bien entendu vous pouvez facilement naviguer vers les détails de chaque règle. Ici, j’affiche la règle qui a échoué concernant les conventions de nommage.

5_NDepend_Naming_Details

Comme-vous pouvez le constater, le nouveau système des rapports est bien plus agréable que l’ancien. L’information qu’on cherche est plus facile à trouver et la navigation est plus agréable. J’ai envie de consacrer plusieurs posts concernant NDepend et le refactoring. J’espère que je vais avoir le temps car à chaque fois les obligations professionnelles me détournent de mes objectifs de blogging Clignement d'œil

 

Sinon, Bonne année 2011 !