Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

Cyclomatic Complexity

 

Oggi mi sono imbattuto in questa metrica. La Cyclomatic Complexity è una metrica non orientata agli oggetti, introdotta da Thomas McCabe, che misura la complessità strutturale di un metodo o un insieme di metodi.

Una possibile (banale) definizione è la seguente:

Cyclomatic Complexity (CC) = numero di punti di decisione (if, else, while, …) + 1

Il plugin per .NET Reflector chiamato CodeMetrics permette di calcolare questa metrica sia a livello di metodo che a livello di classe (tutti i metodi della classe).

Alcuni valori di complessità, giusto per curiosità:

  • CC della classe Uri = 1807
  • CC della classe DataTable = 1316
  • CC della classe DataSet = 618

Un valore troppo alto comporta una difficoltà nel testare una classe. Penso che sia proprio da un presupposto di questo tipo che da diverso tempo è nata la Campagna Anti IF per promuovere un utilizzo puro della OOP con lo scopo di realizzare applicazioni flessibili, modificabili e testabili.

Tra il dire e il fare c’è di mezzo il mare !

Per maggiori approfondimenti:
http://en.wikipedia.org/wiki/Cyclomatic_complexity
http://www.antiifcampaign.com/

Print | posted on Wednesday, January 13, 2010 9:31 PM |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET