Valori delle metriche del codice
Si applica a:
Visual Studio Visual Studio
per Mac
Visual Studio Code
L'aumento della complessità delle applicazioni software moderne aumenta anche la difficoltà di rendere affidabile e gestibile il codice. La metrica del codice è un insieme di misure del software in grado di fornire agli sviluppatori una migliore comprensione del codice che stanno sviluppando. Sfruttando le metriche di codice, gli sviluppatori possono comprendere quali tipi e/o metodi devono essere rielaborati o più accuratamente testati. I team di sviluppo possono identificare potenziali rischi, comprendere lo stato corrente di un progetto e tenere traccia dello stato di avanzamento durante lo sviluppo software.
Gli sviluppatori possono usare Visual Studio per generare dati delle metriche di codice che misurano la complessità e la gestibilità del codice gestito. I dati delle metriche di codice possono essere generati per un'intera soluzione o per un singolo progetto.
Per informazioni su come generare dati delle metriche di codice in Visual Studio, vedere Procedura: Generare dati delle metriche di codice.
Misurazioni software
L'elenco seguente mostra i risultati delle metriche di codice calcolati da Visual Studio:
Indice di gestibilità : calcola un valore di indice compreso tra 0 e 100 che rappresenta la facilità relativa di gestione del codice. Un valore elevato significa una migliore gestibilità. Le classificazioni codificate del colore possono essere usate per identificare rapidamente i punti di problemi nel codice. Una classificazione verde è compresa tra 20 e 100 e indica che il codice ha una buona gestibilità. Una classificazione gialla è compresa tra 10 e 19 e indica che il codice è moderatamente gestibile. Una classificazione rossa è una classificazione compresa tra 0 e 9 e indica la bassa gestibilità. Per altre informazioni, vedere Intervallo di indice di gestibilità e significato.
Complessità ciclomatica : misura la complessità strutturale del codice. Viene creato calcolando il numero di percorsi di codice diversi nel flusso del programma. Un programma con flusso di controllo complesso richiede più test per ottenere una buona copertura del codice ed è meno gestibile. Per altre informazioni, vedere la voce Wikipedia per la complessità ciclomatica.
Profondità di ereditarietà : indica il numero di classi diverse che ereditano tra loro, fino alla classe di base. La profondità dell'ereditarietà è simile all'accoppiamento della classe in cui una modifica in una classe di base può influire su una delle classi ereditate. Maggiore è questo numero, l'ereditarietà più profonda e il maggiore potenziale per le modifiche della classe di base per generare una modifica di rilievo. Per Profondità di ereditarietà, un valore basso è buono e un valore elevato è cattivo.
Accoppiamento classi: misura l'accoppiamento a classi univoche tramite parametri, variabili locali, tipi restituiti, chiamate di metodo, istanze generiche o modello, classi di base, implementazioni dell'interfaccia, campi definiti su tipi esterni e decorazione degli attributi. Una buona progettazione software determina che i tipi e i metodi devono avere una coesione elevata e un accoppiamento basso. L'accoppiamento elevato indica una progettazione difficile da riutilizzare e mantenere a causa delle sue numerose interdipendenza su altri tipi. Per altre informazioni, vedere Accoppiamento classi.
Righe di codice sorgente : indica il numero esatto di righe di codice sorgente presenti nel file di origine, incluse le righe vuote. Questa metrica è disponibile a partire da Visual Studio 2019 versione 16.4 e Microsoft.CodeAnalysis.Metrics (2.9.5).
Righe di codice eseguibile : indica il numero approssimativo di righe di codice eseguibili o operazioni. Si tratta di un numero di operazioni nel codice eseguibile. Questa metrica è disponibile a partire da Visual Studio 2019 versione 16.4 e Microsoft.CodeAnalysis.Metrics (2.9.5). Il valore è in genere una corrispondenza vicina alla metrica precedente, righe di codice, ovvero la metrica basata su istruzioni MSIL usata in modalità legacy.
Metodi anonimi
Un metodo anonimo è solo un metodo senza nome. I metodi anonimi vengono usati più di frequente per passare un blocco di codice come parametro delegato. I risultati delle metriche di codice per un metodo anonimo dichiarato in un membro, ad esempio un metodo o una funzione di accesso, sono associati al membro che dichiara il metodo. Non sono associati al membro che chiama il metodo.
Codice generato
Alcuni strumenti software e compilatori generano codice aggiunto a un progetto e che lo sviluppatore del progetto non vede o non deve modificare. Per lo più, le metriche di codice ignorano il codice generato quando calcola i valori delle metriche. Ciò consente ai valori delle metriche di riflettere ciò che lo sviluppatore può visualizzare e modificare.
Il codice generato per Windows Forms non viene ignorato, perché è il codice che lo sviluppatore può visualizzare e modificare.