mBerube.net
A journey to .Net

Utilisation de NDepend pour analyser Protobuf de Google

lundi, 14 novembre 2016 20:35 by mBerube
(Aussi disponible en: English)

Pour un travail scolaire, nous avons eu la tâche d'analyser l'architecture du projet open source Protobuf de Google. Protobuf est le protocole de communication utilisé par Google pour communiquer entre les proccessus (voir le site officiel). Le projet est livré avec des compilateurs pour générer les classes d'accès dans plusieurs langages comme Java, Ruby, C#, etc. Étant un développeur .Net depuis des années, il était naturel pour moi en mon coéquipier de nous concentrer sur la librairie C# de Protobuf. Pour analyser l'architecture du module C#, nous avons utilisé un outil vraiment intéressant, NDepend. NDepend est une suite sophistiquée d'outils d'analyse pour les projets .Net qui donnent énormément d'information sur l'architecture et la qualité du code.

Ce que nous avons découvert

En utilisant les différents graphiques fournis par NDepend, nous avons noté certains faits intéressants :

  1. Le niveau d'abstraction du projet semble adéquat (voir graphique 1)
  2. Les auteurs ont été capables de bien gérer les inter-dépendences avec seulement 2 références croisées entre 2 namespaces (il n'y a qu'un seule assembly dans ce projet) (voir graphique 2).

Cette information nous a été très utile et il y en a encore beaucoup disponibles dans NDepend mais ce qui nous asurpris le plus est l'étonnante simplicité de l'architecture du module C# (voir graphique 3).

 

Mon expérience avec l'outil a été agréable et je compte bien continuer de l'utiliser tout au long de mes études. Je prévois également le proposer à mon employeur car ce produit en offre beaucoup pour améliorer la qualité de nos applications.

 

Essayez NDepend et remerciez-les pour la grande qualité de leurs produits.

 

Graphique 1

 

 

Graphique 2

 

 

Graphique 3

 


Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   .Net | NDepend
Actions:   E-mail | del.icio.us | Permalink | Commentaires (0) | Comment RSSRss comment feed