Blog 2 min de lecture

Améliorez nettement votre expérience avec Visual C++

Share this article
Améliorez nettement votre expérience avec Visual C++

Visual C++ est l'un des environnements de développement C++ les plus utilisés et offre aux développeurs de nombreuses fonctionnalités utiles. Chaque nouvelle version apporte des améliorations majeures, et de nombreuses extensions sont disponibles pour enrichir l'expérience de développement. Dans cet article, je vais évoquer quelques fonctionnalités utiles offertes par CppDepend.

Visualisez votre base de code

Le graphe de dépendances

Le graphe de dépendances est l'un des moyens les plus courants de représenter les dépendances entre les éléments de code, et Visual Studio en propose une implémentation pratique. Le graphe fourni par CppDepend est davantage axé sur la qualité du code : la taille des boîtes et l'épaisseur des arcs peuvent être proportionnelles à n'importe laquelle des nombreuses métriques disponibles.

vs3

La matrice de dépendances

La DSM (Dependency Structure Matrix) est un moyen compact de représenter et de parcourir les dépendances entre les composants. La DSM représente les mêmes informations qu'un graphe, mais elle est plus pratique si :

  • De nombreux éléments de code sont en jeu.
  • Vous devez déterminer le poids des dépendances entre les éléments.
  • Vous devez identifier facilement les cycles de dépendances entre les éléments de code.
vs1

La treemap

Dans la vue métriques, la base de code est représentée à l'aide d'une Treemap. Le treemapping est une méthode d'affichage de données structurées en arbre au moyen de rectangles imbriqués. La structure arborescente utilisée est la hiérarchie habituelle du code :

  • Les projets C/C++ contiennent des espaces de noms
  • Les espaces de noms contiennent des types
  • Les types contiennent des méthodes et des champs

La taille de chaque rectangle est proportionnelle à la métrique sélectionnée ; par défaut, il s'agit du NbLinesOfCode. La vue métriques peut également afficher une seconde métrique en colorant les éléments de la treemap, ce qui permet de visualiser deux métriques de code à la fois.

Par exemple, dans cette treemap, la taille des rectangles représente le nombre de lignes de code, tandis que la couleur représente la complexité cyclomatique. Il devient ainsi facile d'identifier visuellement les méthodes les plus volumineuses et les plus complexes.

vs2

Les informations sur les métriques

De nombreuses métriques sont disponibles pour les projets, les espaces de noms, les classes, les méthodes et les champs. La vue Info présente certaines de ces métriques, ce qui facilite l'évaluation de la qualité de l'implémentation pendant le développement.

vs8

Définissez des règles

CQLinq est peut-être la fonctionnalité la plus puissante offerte par CppDepend. Elle permet de définir facilement des requêtes avancées et de rechercher des éléments de code spécifiques. L'éditeur CQLinq propose de nombreuses fonctionnalités utiles pour créer des règles personnalisées, avec des résultats calculés en temps réel.

vs5

Obtenez des diagnostics

Avec CppDepend, vous pouvez facilement récupérer les problèmes signalés par Clang, Cppcheck et Vera++. D'autres outils peuvent également être intégrés via l'API.

vs9

Les graphiques de tendances

Les graphiques de tendances sont utiles pour suivre l'évolution d'une métrique au fil des modifications du code. De nombreux graphiques sont fournis par défaut, et vous pouvez facilement créer les vôtres.

vs6

La recherche avancée

Il est parfois utile de rechercher des méthodes par taille de code, complexité cyclomatique, pourcentage de commentaires, couplage et autres métriques.

CppDepend offre cette possibilité, en vous permettant de rechercher des éléments de code à l'aide d'un large éventail de métriques.

vs7

Conclusion

CppDepend peut vous aider à mieux comprendre votre base de code et à identifier les défauts d'implémentation et de conception. Cependant, comme mentionné précédemment, la richesse de ses fonctionnalités peut le rendre quelque peu difficile à prendre en main au début. Il faut quelques heures pour se familiariser avec certaines de ses capacités.

Share this article