posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Le Code Dependencies di Visual Studio 2010

Tra le mille nuove bellezze in Visual Studio 2010 ho trovato estremamente utile le Code Dependencies.

L'ho subito voluto provare su un progetto che stiamo realizzando che consiste in una elaborazione a pipeline di due documenti XML. La natura del progetto importa poco, diciamo per semplicità che è una mera blackbox lato server che prende dei dati in entrata e spara il risultato in uscita.

Dal menu Analyze, "Visualize Code Dependencies", "By Class" si ottiene subito un grafico interessante.

image

Appare subito chiaro che il grafico ha alcuni "intrusi" come le dipendenze dagli assembly del Framework ("External"), le interfacce che aumentano inutilemente la complessità nelle dipendenze (vale probabilmente la pena di avere un diagramma separato solo per queste), ed infine le classi del programma di test.

Per epurarle si seleziona la classe, e dal menu contestuale si sceglie Selection, Hide. Ecco il risultato:

image

Una classe che mi ha subito attirato l'attenzione è la classe statica degli extension methods per XElement, la XElementHelper che ha una dipendenza da BindingInfo. Per avere più dettagli espando la classe XElementHelper e seleziono la BindingInfo, cosa che evidenzia subito il metodo che ha la dipendenza sulla BindingInfo.

image

Grazie a questa feature ho già eliminato alcune dipendenze dalla GroupInfo (non più visibili in questi screenshot). Devo dire che l'utilità di questi diagrammi è decisamente altissima.

Ma un'altra cosa che non vorremmo mai vedere in un progetto sono le circular references:

image

La cosa mi ha subito spaventato ma è apparso invece chiaro che si trattava dei factory methods:

image

Avrei voluto vedere un'opzione per eliminare le factory dal grafico, e così ho eseguito la submit di un wish su Connect. Se lo volete votare, qui c'è il link.

Un altro grafico interessante è questo:

image

Invito tutti a provare questa feature perché sono convinto che possa rendere più evidente alcuni aspetti oscuri del codice. Durante la fase di code review, i diagrammi di Code Depenenciees sono certamente una 'killer feature'.

Print | posted on sabato 30 maggio 2009 18:23 | Filed Under [ VS2010 ]

Feedback

Gravatar

# re: Le Code Dependencies di Visual Studio 2010

votato ;)
30/05/2009 19:31 | Adrian Florea
Gravatar

# re: Le Code Dependencies di Visual Studio 2010

Bellissimo ed utilissimo... +1!
30/05/2009 22:01 | info@codesapiens.net
Gravatar

# re: Le Code Dependencies di Visual Studio 2010

Era solo un typo, nella descrizione ho scritto che era riferito solo ai factory, ma quella form è estremamente ripetitiva e mi ha preso preso per stanchezza :)
Ho corretto la proposed solution a cui mancava il riferimento ai factory methods. Grazie
01/06/2009 02:50 | Raffaele Rialdi
Gravatar

# re: Le Code Dependencies di Visual Studio 2010

Era ora che aggiungessero queste features perchè sono utilissime per uno sviluppo pulito del codice, a me in particolare piace tantissimo l'ultimo grafico.
02/06/2009 02:38 | Alessandro Gambaro
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET