Ci sono Metriche e metriche? o metriche e basta?

Nel mese di giugno non so se qualcuno si è accorto della mia "assenza".

In realtà ero alle prese con delle questioni abbastanza complicate (per me) che mi hanno fatto imparare tante belle cose su diversi fronti.

Ad esempio ho capito che, prima o poi, dovrò mettermi anch'io a studiare un po' di più le "bassezze" del CLR.

Ma veniamo al dunque.

In questi giorni sto utilizzando NDepend per fare delle analisi su un grosso progetto alla quale lavoro (in solitario) da un anno (il 16 luglio :D).

Lo strumento mi sembra davvero molto ben fatto e completo e da oggi, accantonate le prime analisi lanciate puramente per "vedere il risultato", ho cominciato a studiarmi un po' tutte le informazioni.

Il progetto (formato da 8 assembly custom) è risultato altamente instabile (beh, sono pur sempre un sviluppatore che ogni tanto si avventura in terreno architetturale...) ma quello che più mi han fatto riflettere sono alcune metriche.

Tipo: metodi con più di 30 righe sono troppo lunghi e devono essere splittati.

Oppure: metodi con meno del 20% di commenti non vanno bene, e ancora: oggetti troppo grandi sono da evitare, ecc, ecc...

Al di là del fatto che mi rendo conto che non sono cose su cui passare troppo con leggerezza, mi chiedevo queste sono da considerare Metriche o metriche (la differenza, per chi non l'avesse notato, sta nella maiuscola e, quindi, nell'importanza).

Voglio dire: un architetto (o chi per lui) in quanto tale SA quali sono, nel suo progetto le occasioni in cui una metrica può essere trascurata o deve per forza mirare alla perfezione (=in tutti i membri, di tutte le classi, di tutti i namespace di tutti gli assembly, le metriche Devono essere Rispettate)?

Faccio un esempio, poi vi lascio alle vostre considerazioni: nel mio Domain Model ho una classe del tipo NomeOggettoView che ha un metodo GetColonne che ritorna un IList di DataColumn per comporre correttamente la griglia quando viene utilizzata come DataSource.

E' più lunga di 30 righe perchè deve ritornare circa 10 DataColum, e per ognuna delle quali definisco: nome del DataItem, se dovrà essere centrato o meno, la larghezza, ecc...

Va da se che splittarlo non ha molto senso...

Applicando però questo ragionamento all'infinito si corre il rischio di non fare nessun intervento e quindi...?

Print | posted @ Monday, June 30, 2008 6:07 PM

Comments on this entry:

Gravatar # NDepend: analisi e metriche di un progetto
by Sharing Oriented at 9/9/2008 1:30 PM

NDepend: analisi e metriche di un progetto
Comments have been closed on this topic.