Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

NDepend 3 : votre code est une base de données en or…

[new:10/6/2010]NDepend est un outil très intelligent dont je vous ai déjà parlé (voir le billet Visual NDepend un outil d'analyse de code original et puissant ainsi que l’allusion directe qui y est faite dans Le retour du spaghetti vengeur). La version 3 est désormais totalement intégrée à l’IDE de VS 2010 ce qui rend son utilisation encore plus simple, directe et rapide. NDepend transforme votre code en une mine d’or ! Tout code, projet, solution devient une base de données qui peut être interrogée et obtenir une vision totalement neuve sur ses forces … et ses défauts !

Analyser finement son code

NDepend est un outil d’analyse de code. Mais il ne se contente pas seulement de donner des “métriques”. Il est doté d’un langage d’interrogation de type SQL, le CQL (Code Query Language) qui vous permet de cibler très finement ce que vous cherchez.

Bien entendu, de base, NDepend est fourni avec un ensemble de requêtes regroupées dans une “analyse de base”. Mais vous pouvez modifier ce plan de base à tout moment, créer vos propres requêtes, éditer celles qui sont fournies.

NDepend est assortis de nombreux graphes, matrices, rapports, tous consultables en live et exportables. Le produit peut même analyser les différences entre deux snapshots d’un même code.

Avec la version 3 tout cela va encore plus loin et s’intègre directement à l’EDI de Visual Studio 2010. Il est possible d’interroger son code et de le manipuler en même temps, dans le même outil.

Un exemple de requête simple en CQL

   1: SELECT METHODS WHERE CyclomaticComplexity>12 OR NbLinesOfCode > 30

NDepend listera ainsi toutes les méthodes ayant une complexité cyclomatique supérieure à 12 ou bien celles ayant un nombre de lignes de code supérieur à 30. Simple et efficace pour cibler immédiatement les méthodes qui doivent peut-être être revisitées (refactoring, s’assurer que les tests couvrent bien toutes les possibilités…).

De même la requête

   1: SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage<100

remontera la liste des méthodes remaniées récemment et qui ne sont pas couvertes à 100% par les tests.

Autant d’informations essentielles (et on peut imaginer des requêtes bien plus personnalisées que cela) qu’aucun autre outil n’est capable de vous donner.

Une arme absolue

NDepend est l’arme absolue de l’auditeur qui doit inspecter rapidement un code qu’il ne connaît pas pour en trouver les défauts, c’est aussi l’outil indispensable du Chef de Projets qui doit suivre la qualité du code produit par son équipe, sans oublier le testeur qui peut cibler des parties de code spécifiques (grosses méthodes, code complexe…), ni même le développeur qui dispose ainsi du moyen de contrôler sa propre production plutôt que de se faire remonter les bretelles par sa hiérarchie (qui, si elle est intelligente, vérifiera le travail fourni avec NDepend!)…

Bref, pour moi toute installation de Visual Studio n’est complète qu’une fois les trois outils installés :

Le mieux est de télécharger la version d’évaluation et de vous faire votre propre idée de ce produit qui vaut vraiment le détour.

Bonne analyse de code !

Et Stay Tuned !

blog comments powered by Disqus