Partager via


Comment : explorer du code avec des graphiques de dépendance

Dans Visual Studio Ultimate, utilisez les graphiques de dépendance pour en savoir plus sur l'organisation et les relations au sein du code existant. Ces graphiques représentent les structures sous forme de nœuds et les relations sous forme de liens, qui sont matérialisés par des flèches reliant les nœuds. Pour générer un graphique, consultez Comment : générer des graphiques de dépendance pour le code .NET.

L'exemple suivant montre comment le graphique représente les structures et les relations sous forme de nœuds et de liens :

Graphique de dépendance avec des nœuds et des liens

Nœuds et liens affichés sur un graphique

L'exemple suivant montre comment le graphique représente les structures et les relations contenant-contenu sous forme de groupes :

Graphique de dépendance avec des nœuds regroupés

Nœuds groupés affichés sur un graphique

Avertissement

Un graphique affiche uniquement les dépendances du code qui est correctement généré. Les composants et leur contenu n'apparaîtront pas s'ils provoquent des erreurs de build. Par conséquent, assurez-vous qu'un composant est réellement généré et qu'il a des dépendances avant de prendre des décisions architecturales basées sur le graphique.

Dans cette rubrique

  • Exploration des dépendances sur le graphique

  • Recherche des zones de complexité

Exploration des dépendances sur le graphique

Les dépendances sont représentées sur le graphique par les genres de liens suivants :

  • Un lien individuel représente une dépendance unique entre deux nœuds.

  • Un lien global représente toutes les dépendances orientées dans la même direction entre deux groupes.

Un lien entre des groupes correspond simplement à un lien entre deux nœuds de groupes différents.

Notes

Par défaut, le graphique affiche les liens entre les groupes uniquement pour les nœuds sélectionnés. Pour afficher ces liens en permanence, dans la barre d'outils du graphique, cliquez sur la liste déroulante en regard du bouton Modifier l'affichage des liens entre les groupes sur le graphique, puis sur Afficher tous les liens entre les groupes. Si la barre d'outils du graphique n'est pas visible, dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Graphique orienté.

Utilisez les tâches suivantes pour explorer les dépendances qui vous intéressent :

Pour

Procédez comme suit

Afficher une liste des dépendances représentées par un lien

  • Placez le pointeur sur le lien pour afficher une info-bulle qui répertorie les dépendances.

Rechercher un nœud par nom

Utilisez cette tâche pour effectuer des recherches dans plusieurs niveaux de nœuds groupés.

  • Appuyez sur CTRL+F.

Rechercher la source ou la cible d'un lien

Utilisez cette méthode lorsque vous avez des difficultés à identifier la source ou la cible d'un lien spécifique en raison d'un trop grand nombre de liens.

  1. Dans la barre d'outils du graphique, définissez la disposition du graphique sous forme d'arborescence ou de clusters rapides.

    RemarqueRemarque
    Si la barre d'outils du graphique n'est pas visible, dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Graphique orienté.

    Pour plus d'informations, consultez Comment : parcourir des documents de graphique et y accéder.

  2. Placez le pointeur sur le lien.

    Visual Studio affiche deux boutons fléchés au-dessus du lien. Visual Studio affiche également une info-bulle qui identifie la source et la cible du lien.

  3. Cliquez sur le bouton fléché qui pointe dans la direction que vous voulez suivre.

    Selon la direction que vous avez sélectionnée, la source ou la cible apparaît sélectionnée.

Examiner les dépendances des nœuds de différents groupes

  1. Développez les groupes qui vous intéressent afin de pouvoir afficher tous leurs enfants.

  2. Sélectionnez tous les nœuds qui vous intéressent, y compris leurs enfants.

    Pour sélectionner tous les nœuds d'un groupe, appuyez sur le bouton gauche de la souris et maintenez-le enfoncé tout en dessinant un rectangle autour de ce groupe. Pour sélectionner tous les nœuds d'un graphique, appuyez sur CTRL+A.

    Le graphique affiche les liens entre les groupes existant pour les nœuds sélectionnés.

    RemarqueRemarque
    Pour afficher les liens entre les groupes en permanence, dans la barre d'outils du graphique, cliquez sur la liste déroulante en regard du bouton Modifier l'affichage des liens entre les groupes sur le graphique, puis sur Afficher tous les liens entre les groupes.Si la barre d'outils du graphique n'est pas visible, dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Graphique orienté.

Examiner les dépendances représentées par un lien global

RemarqueRemarque
Cette méthode fonctionne uniquement lorsque chaque extrémité du lien est connectée à un assembly.S'il n'existe pas d'informations d'assembly, vous ne pouvez pas créer de graphique.
  1. Dans la barre d'outils du graphique, définissez la disposition du graphique sous forme d'arborescence ou de clusters rapides.

    RemarqueRemarque
    Si la barre d'outils du graphique n'est pas visible, dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Graphique orienté.Pour plus d'informations, consultez Comment : parcourir des documents de graphique et y accéder.
  2. Double-cliquez sur le lien global qui vous intéresse.

    - ou -

    1. Placez le pointeur sur le lien.

      Visual Studio affiche deux boutons fléchés au-dessus du lien.

    2. Cliquez sur le signe plus (+) entre les deux boutons fléchés.

  3. Dans la boîte de dialogue Générer un graphique de dépendance, cliquez sur les niveaux de nœuds que vous voulez inclure dans le graphique.

    Par exemple, pour examiner les dépendances depuis le niveau des assemblys jusqu'au niveau des méthodes, cliquez sur Assemblys, Espaces de noms, Types, puis Méthodes. Si vous ne voulez afficher que les dépendances entre les assemblys et les classes, cliquez seulement sur Assemblys et Classes.

    Pour inclure le contenu d'une méthode dans le graphique, utilisez le navigateur de l'architecture de façon à rechercher ces éléments, puis à les ajouter au graphique. Pour plus d'informations, consultez Comment : rechercher du code à l'aide du navigateur de l'architecture.

  4. Vérifiez que la case Afficher la relation contenant-contenu en tant que groupe est activée, puis cliquez sur OK.

    Visual Studio génère et affiche un graphique avec les niveaux des nœuds que vous avez sélectionnés et leurs dépendances.

  5. Sur le graphique, sélectionnez les groupes qui vous intéressent, cliquez avec le bouton droit sur un groupe sélectionné, pointez sur Groupe, puis cliquez sur Développer.

    - ou -

    Cliquez avec le bouton droit sur le graphique, pointez sur Groupe, puis cliquez sur Développer tout.

    Le graphique développe les groupes pour afficher leurs enfants.

  6. Sélectionnez tous les nœuds qui vous intéressent, y compris leurs enfants.

    Pour sélectionner tous les nœuds d'un groupe, appuyez sur le bouton gauche de la souris et maintenez-le enfoncé tout en dessinant un rectangle autour de ce groupe. Pour sélectionner tous les nœuds d'un graphique, appuyez sur CTRL+A.

    Le graphique affiche les liens entre les groupes existant pour les nœuds sélectionnés.

Recherche des zones de complexité

Utilisez un graphique de dépendance pour identifier des zones de code que vous pouvez éventuellement améliorer. Un graphique de dépendance correct doit afficher un nombre minimal de dépendances. Par exemple, vous pouvez :

  • Rechercher du code comportant des boucles ou des dépendances circulaires.

    Examinez ces zones pour déterminer si vous pouvez les simplifier. Déterminez si vous pouvez arrêter ces cycles.

  • Rechercher du code ayant trop de dépendances.

    Examinez ces zones pour déterminer si elles exécutent trop de fonctions ou pour évaluer l'impact engendré par leur modification. Pour simplifier la gestion, la modification, le test et la réutilisation du code, déterminez si vous pouvez refactoriser ces zones de façon à ce qu'elles soient définies plus clairement ou fusionner du code exécutant des fonctions similaires.

  • Rechercher du code n'ayant pas de dépendances.

    Examinez ces zones pour déterminer si elles sont nécessaires ou si vous devez supprimer ce code.

Vous pouvez exécuter des analyseurs spécifiques sur ces graphiques pour faciliter l'exécution de ces tâches. Ces analyseurs continuent à fonctionner après avoir été appliqués. Si vous modifiez le graphique, tous les analyseurs appliqués retraiteront automatiquement le graphique mis à jour. Pour arrêter l'exécution d'un analyseur, cliquez avec le bouton droit sur celui-ci dans la zone Légende, puis cliquez sur Supprimer.

Notes

Si vous disposez d'un graphique très volumineux, l'exécution d'un analyseur peut provoquer une exception de mémoire insuffisante. Si cela se produit, modifiez le graphique de façon à réduire sa portée, ou bien générez un graphique moins volumineux, puis exécutez l'analyseur.

Pour rechercher des zones de complexité dans le code

  1. Vérifiez que la disposition du graphique est définie sous forme d'arborescence ou de clusters rapides.

    Pour plus d'informations, consultez Comment : parcourir des documents de graphique et y accéder.

  2. Cliquez avec le bouton droit sur le graphique, pointez sur Analyseurs, puis cliquez sur l'un des éléments suivants :

    Analyseur

    Pour identifier les nœuds qui

    Référence circulaire

    Ont des dépendances circulaires les uns par rapport aux autres

    RemarqueRemarque
    Les dépendances circulaires au sein du groupe Génériques ne s'affichent pas sur le graphique lorsque vous développez le groupe.

    Trouver les concentrateurs

    Font partie des 25 % de nœuds ayant le plus de connexions

    Pour sélectionner ces nœuds et masquer tous les autres sur le graphique

    1. Cliquez avec le bouton droit sur le graphique, puis cliquez sur Afficher la sélection avancée.

    2. Dans la zone Sélection, développez Propriétés, puis Concentrateur.

    3. Sous Concentrateur, cliquez sur True.

      Les 25 % de nœuds ayant le plus de connexions sont sélectionnés.

    4. Cliquez avec le bouton droit sur le graphique, pointez sur Sélection, puis cliquez sur Masquer les éléments non sélectionnés.

      Le graphique masque les nœuds non sélectionnés et l'analyseur identifie les nouveaux nœuds en tant que concentrateurs.

    Vous pouvez également identifier des zones denses de dépendances en changeant la disposition du graphique de façon à afficher la matrice des dépendances. Pour plus d'informations sur l'affichage de la matrice des dépendances, consultez Comment : parcourir des documents de graphique et y accéder.

    Nœuds non référencés

    N'ont pas de référence provenant d'autres nœuds.

    Remarque AttentionAttention
    Étudiez chacun de ces cas de figure avant de considérer que le code n'est pas utilisé.Certaines dépendances, telles que les dépendances XAML et d'exécution, ne peuvent pas être détectées statiquement dans le code.

Voir aussi

Concepts

Comment : générer des graphiques de dépendance pour le code .NET

Autres ressources

Comment : parcourir des documents de graphique et y accéder

Comment : modifier et personnaliser des documents de graphique