Analyse statique de programmes – avec NDepend 6.3.0

En tant que programmeur on connait la situation, un nouveau projet, un nouveau défi. D’abord c’est toujours recommandable de se bien organiser pour mieux comprendre les exigences. Puis c’est souvent le cas, qu’il y a déjà une base de codage existant qu’il faut analyser. Bien sûr, Visual Studio donne plusieurs outils pour faciliter la vie d’un développeur. Par exemple l’utile « Code Analysis » qui peut être trouvé dans la « properties fenêtre » d’un projet et qui peut être utilisé avec Native Code et Managed Code. Néanmoins cette solution ne suffit pas toujours pour les besoins d’un développeur, c’est pourquoi il y a des alternatives sur le marché. Une telle solution, très populaire, est NDepend. En tout cas NDepend peut être utilisé avec Managed Code in .NET.

Une analyse statique d’un programme peut par exemple réduire les couts d’une erreur et le nombre des erreurs. Puis cela peut faciliter la maintenance d’un codage, parce que les développeurs découvrent la base de code et peuvent apprendre des bonnes pratiques.

Dans cet article je vais d’abord écrire le fond d’une analyse statique de programmes et pourquoi on peut recommander d’utiliser un outil comme NDepend, pour mieux comprendre un codage existent de Managed Code. Dans un article suivant on regardera utilisation et les expériences dans un projet réel avec ASP.NET MVC.

Tout d’abord, la théorie…

L’analyse statique de programmes est l’analyse d’un logiciel sans [réellement] l’exécuter (Contrairement, l’analyse d’un logiciel pendant son exécution qui s’appelle l’analyse dynamique). C’est-à-dire, l’analyse statique permets d’obtenir des informations sur un programme.

Les objectifs d’une telle analyse peuvent être :

  • Bug alerts,
  • Style de codage,
  • Adapter les » best practices » (Naming conventions etc.)
  • Vérification de la performance

Quelques paramètres qui peuvent être utiles sont :

  • Sont tous les méthodes écrit en Pascal Case ?
  • Y-a-t-il des null references dans le codage ?
  • Est-ce qu’il y a des instances d’une programmation « copier/collier « ?
  • C’est quoi le moyen montant de lignes de codage dans une classe / une méthode ?
  • Est-elle loosely ou tightly coupled, l’architecture ?
  • Quelles sont les classes à changer ?

C’est recommandable d’utiliser un outil comme NDepend pour faire une analyse statique d’un logiciel. NDepend aide à comprendre le codage ou mettre des informations outils à la disposition. Cette solution a été créé par Patrick Smacchia et s’est développée pendant les années pour être utilisé dans un environnement des entreprises.

NDepend, actuellement en version 6.3.0, offre entre autres :

  • Personnalisation et application des règles
  • Une représentation visuel d’un codage
  • L’intégration dans un build
  • Trace de changements

Un premier demo de NDepend peut être télécharge sous NDepend.com et ajouté au Visual Studio en tant que Add-On. Le site web offre une bonne documentation. Dans un prochain article, je vais jeter un coup d’œil sur l’utilisation dans un projet réel.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *