Procedura: esplorare il codice con grafici di dipendenze

In Visual Studio Ultimate è possibile utilizzare grafici di dipendenze per ottenere maggiori informazioni sull'organizzazione e sulle relazioni presenti nel codice esistente. Questi grafici rappresentano le strutture come nodi e le relazioni come collegamenti, indicati mediante frecce tra i nodi. Per generare un grafico, vedere Procedura: generare grafici di dipendenze per il codice .NET.

Nell'esempio seguente viene illustrata la modalità di rappresentazione di strutture e relazioni come nodi e collegamenti all'interno del grafico:

Grafico di dipendenze con nodi e collegamenti

Nodi e collegamenti in un grafico

Nell'esempio seguente viene illustrata la modalità di rappresentazione di strutture e relazioni di contenimento come gruppi all'interno del grafico:

Grafico di dipendenze con nodi raggruppati

Nodi raggruppati in un grafico

Nota di avvisoAttenzione

In un grafico vengono visualizzate solo le dipendenze relative a codice compilato correttamente. Componenti e relativo contenuto non saranno visualizzati se per tali componenti si verificano errori di compilazione. Assicurarsi quindi che un componente venga effettivamente compilato e disponga di dipendenze prima di prendere decisioni a livello di architettura in base al grafico.

In questo argomento

  • Esplorare dipendenze nel grafico

  • Individuare aree di complessità

Esplorare dipendenze nel grafico

Le dipendenze nel grafico sono rappresentate dai seguenti tipi di collegamenti:

  • Un collegamento singolo rappresenta una singola dipendenza tra due nodi.

  • Un collegamento di aggregazione rappresenta tutte le dipendenze rivolte nella stessa direzione tra due gruppi.

Un collegamento tra gruppi è semplicemente un collegamento tra due nodi appartenenti a gruppi diversi.

Nota

Per impostazione predefinita, nel grafico vengono illustrati collegamenti tra gruppi solo per nodi selezionati. Per visualizzare sempre questi collegamenti, sulla barra degli strumenti del grafico fare clic sull'elenco a discesa accanto al pulsante Cambia la modalità di visualizzazione dei collegamenti tra gruppi nel grafico, quindi fare clic su Mostra tutti i collegamenti tra gruppi. Se la barra degli strumenti del grafico non è visibile, scegliere Barre degli strumenti dal menu Visualizza, quindi fare clic su Grafico diretto.

Utilizzare le attività seguenti per esplorare le dipendenze che interessano:

Per

Si seguano le seguenti istruzioni

Visualizzare un elenco di dipendenze rappresentate da un collegamento

  • Spostare il puntatore sul collegamento per visualizzare una descrizione comando con l'elenco delle dipendenze.

Trovare un nodo in base al nome

Utilizzare questo metodo per effettuare la ricerca in più livelli di nodi raggruppati.

  • Premere CTRL+F.

Trovare l'origine o la destinazione di un collegamento

Utilizzare questo metodo quando è presente un numero eccessivo di collegamenti per poter visualizzare facilmente l'origine o la destinazione di un collegamento specifico.

  1. Sulla barra degli strumenti del grafico modificare il layout del grafico impostandolo su layout con struttura ad albero o layout con cluster rapidi.

    NotaNota
    Se la barra degli strumenti del grafico non è visibile, scegliere Barre degli strumenti dal menu Visualizza, quindi fare clic su Grafico diretto.

    Per ulteriori informazioni, vedere Procedura: esplorare documenti grafico e spostarsi tra di essi.

  2. Spostare il puntatore sul collegamento.

    In Visual Studio vengono visualizzati due pulsanti freccia sopra al collegamento. In Visual Studio viene inoltre visualizzata una descrizione comando che identifica l'origine e la destinazione del collegamento.

  3. Fare clic sul pulsante freccia che punta nella direzione che si desidera seguire.

    A seconda della direzione scelta, l'origine o la destinazione appare selezionata.

Esaminare le dipendenze tra nodi in gruppi diversi

  1. Espandere i gruppi che interessano, in modo che sia possibile visualizzare tutti i relativi elementi figlio.

  2. Selezionare tutti i nodi che interessano, inclusi gli elementi figlio.

    Per selezionare tutti i nodi in un gruppo, premere e tenere premuto il pulsante sinistro del mouse mentre si disegna un rettangolo intorno a tale gruppo. Per selezionare tutti i nodi in un grafico, premere CTRL+A.

    Nel grafico verranno visualizzati i collegamenti tra gruppi tra i nodi selezionati.

    NotaNota
    Per visualizzare sempre i collegamenti tra gruppi, sulla barra degli strumenti del grafico fare clic sull'elenco a discesa accanto al pulsante Cambia la modalità di visualizzazione dei collegamenti tra gruppi nel grafico, quindi fare clic su Mostra tutti i collegamenti tra gruppi.Se la barra degli strumenti del grafico non è visibile, scegliere Barre degli strumenti dal menu Visualizza, quindi fare clic su Grafico diretto.

Esaminare le dipendenze di un collegamento di aggregazione

NotaNota
Funziona solo quando ogni estremità del collegamento è connessa a un assembly.Se non sono presenti informazioni sull'assembly, non è possibile creare un grafico.
  1. Sulla barra degli strumenti del grafico modificare il layout del grafico impostandolo su layout con struttura ad albero o layout con cluster rapidi.

    NotaNota
    Se la barra degli strumenti del grafico non è visibile, scegliere Barre degli strumenti dal menu Visualizza, quindi fare clic su Grafico diretto.Per ulteriori informazioni, vedere Procedura: esplorare documenti grafico e spostarsi tra di essi.
  2. Fare doppio clic sul collegamento di aggregazione che interessa.

    - oppure -

    1. Spostare il puntatore sul collegamento.

      In Visual Studio vengono visualizzati due pulsanti freccia sopra al collegamento.

    2. Fare clic sul segno più (+) tra i due pulsanti freccia.

  3. Nella finestra di dialogo Genera grafico dipendenze fare clic sui livelli dei nodi che si desidera includere sul grafico.

    Ad esempio, per esaminare le dipendenze a partire dal livello di assembly fino al livello di metodo, fare clic su Assembly, Spazi dei nomi, Tipi e Metodi. Se si desidera visualizzare solo le dipendenze tra assembly e classi, fare clic solo su Assembly e Classi.

    Per includere nel grafico il contenuto di un metodo, utilizzare Esplora architettura per trovare tale elemento e aggiungerlo quindi al grafico. Per ulteriori informazioni, vedere Procedura: trovare codice tramite Esplora architettura.

  4. Assicurarsi che l'opzione Mostra contenuto come gruppo sia selezionata, quindi scegliere OK.

    In Visual Studio viene generato e visualizzato un grafico con i livelli di nodi selezionati e le relative dipendenze.

  5. Nel grafico selezionare i gruppi che interessano, fare clic con il pulsante destro del mouse su un gruppo selezionato, scegliere Gruppo, quindi fare clic su Espandi.

    - oppure -

    Fare clic con il pulsante destro del mouse sul grafico, scegliere Gruppo, quindi Espandi tutto.

    I gruppi nel grafico vengono espansi per visualizzare gli elementi figlio.

  6. Selezionare tutti i nodi che interessano, inclusi gli elementi figlio.

    Per selezionare tutti i nodi in un gruppo, premere e tenere premuto il pulsante sinistro del mouse mentre si disegna un rettangolo intorno a tale gruppo. Per selezionare tutti i nodi in un grafico, premere CTRL+A.

    Nel grafico verranno visualizzati i collegamenti tra gruppi tra i nodi selezionati.

Individuare aree di complessità

Utilizzare un grafico di dipendenze per identificare aree di codice che possono essere migliorate. In un grafico di dipendenze ben formato verrà visualizzato un numero minimo di dipendenze. Ad esempio, è possibile:

  • Trovare codice con cicli o dipendenze circolari.

    Esaminare queste aree per vedere se è possibile semplificarle. Considerare se è possibile interrompere questi cicli.

  • Trovare codice con troppe dipendenze.

    Esaminare queste aree per vedere se eseguono troppe funzioni o determinare l'impatto della modifica di queste aree. Per rendere il codice più facile da gestire, modificare, testare e riutilizzare, considerare la possibilità di effettuare il refactoring di queste aree in modo da definirle più chiaramente o la possibilità di unire codice che esegua funzioni simili.

  • Trovare codice privo di dipendenze.

    Esaminare queste aree per vedere se sono necessarie o se è opportuno rimuovere questo codice.

Per facilitare l'esecuzione di queste attività, è possibile eseguire analizzatori specifici su questi grafici. Una volta applicati, tali analizzatori rimarranno in esecuzione. Se si modifica il grafico, gli eventuali analizzatori applicati rielaboreranno automaticamente il grafico aggiornato. Per interrompere l'esecuzione di un analizzatore, fare clic con il pulsante destro del mouse sull'analizzatore desiderato nella casella Legenda, quindi scegliere Elimina.

Nota

Se si dispone di un grafico molto grande, l'esecuzione di un analizzatore potrebbe provocare un'eccezione di memoria insufficiente. In tal caso, modificare il grafico per ridurne l'ambito o generarne un più piccolo, quindi eseguire l'analizzatore.

Per individuare aree di complessità nel codice

  1. Assicurarsi che il layout del grafico sia impostato su layout con struttura ad albero o layout con cluster rapidi.

    Per ulteriori informazioni, vedere Procedura: esplorare documenti grafico e spostarsi tra di essi.

  2. Fare clic con il pulsante destro del mouse sul grafico, scegliere Analizzatori quindi fare clic su una delle opzioni seguenti:

    Analyzer

    Per identificare nodi che

    Riferimento circolare

    Dispongono di dipendenze circolari reciproche

    NotaNota
    Le dipendenze circolari nel gruppo Generics non vengono visualizzate nel grafico quando si espande il gruppo.

    Trova hub

    Si trovano nel primo 25% dei nodi a elevata connettività

    Per selezionare questi nodi e nascondere tutti gli altri nel grafico

    1. Fare clic con il pulsante destro del mouse sul grafico, quindi scegliere Mostra selezione avanzata.

    2. Nella casella Selezione espandere Proprietà, quindi Hub.

    3. In Hub fare clic Vero.

      Viene selezionato il primo 25% dei nodi con la più elevata connettività.

    4. Fare clic con il pulsante destro del mouse sul grafico, scegliere Selezione, quindi fare clic su Nascondi non selezionati.

      Nel grafico vengono nascosti i nodi non selezionati e i nuovi nodi vengono identificati come hub dall'analizzatore.

    È inoltre possibile identificare aree ad alta densità di dipendenze passando dal layout del grafico alla visualizzazione della matrice di dipendenze. Per ulteriori informazioni sulla visualizzazione della matrice di dipendenze, vedere Procedura: esplorare documenti grafico e spostarsi tra di essi.

    Nodi senza riferimenti

    Non dispongono di riferimenti da altri nodi.

    Nota di avvisoAttenzione
    Verificare ognuno di questi casi prima di presupporre che il codice non sia utilizzato.Determinate dipendenze, ad esempio le dipendenze XAML e quelle in fase di esecuzione, non possono essere trovate in modo statico nel codice.

Vedere anche

Concetti

Procedura: generare grafici di dipendenze per il codice .NET

Altre risorse

Procedura: esplorare documenti grafico e spostarsi tra di essi

Procedura: modificare e personalizzare documenti grafico