Domanda

Di recente ho installato il plug-in Metrics di Eclipse e ho esportato i dati per uno dei nostri progetti.

È molto bello avere questi bei grafici, ma mi piacerebbe davvero capire più in profondità cosa significano tutti. Le definizioni delle metriche si spingono fino a questo punto solo per dirti cosa significa veramente.

Qualcuno sa di buone risorse, libri, siti Web, ecc. che possono aiutarmi a capire meglio cosa significano tutti i dati e capire come migliorare il codice dove necessario?

Sono interessato a cose come Efferent Coupling, Cyclomatic Complexity, ecc., piuttosto che a righe di codice o righe per metodo.

È stato utile?

Soluzione

Non credo che le metriche del codice (a volte indicate come metriche del software ) forniscono dati preziosi in termini di dove è possibile migliorare.

Con le metriche del codice è un po 'bello vedere quanto codice scrivi in ??un'ora ecc., ma oltre ti dicono nada sulla qualità del codice scritto, sulla sua documentazione e sulla copertura del codice. Sono praticamente un tentativo di settimana per misurare dove non si può davvero misurare.

Le metriche del codice discriminano anche i programmatori che risolvono i problemi più difficili perché ovviamente sono riusciti a scrivere meno codice. Eppure hanno risolto i problemi difficili e un programmatore junior che ha tirato fuori un sacco di codice di merda sembra buono.

Un altro esempio di utilizzo delle metriche è il popolare Ohloh . Usano le metriche per mettere un prezzo su un progetto opensource (usando il numero di righe, ecc.), Che di per sé è un tentativo imperfetto da morire - come puoi immaginare.

Detto tutto ciò che la voce di Wikipedia fornisce alcune informazioni generali sull'argomento, mi dispiace non rispondere alla tua domanda in modo più favorevole con un sito Web o un libro davvero fantastico, ma scommetto che hai la deriva che non sono un grande fan. :)

Qualcosa da utilizzare per aiutarti a migliorare sarebbe l'integrazione continua e il rispetto di una sorta di standard quando si tratta di codice, documentazione e così via. Ecco come puoi migliorare. Le metriche sono solo un piacere per gli incontri: "guarda, abbiamo già codificato così tanto".

Aggiorna

Ok, beh, il mio punto di vista è l'accoppiamento efficace o persino la complessità ciclomatica, può indicare che qualcosa non va, ma non deve essere sbagliato. Può essere un indicatore per il refactoring di una classe ma non esiste una regola empirica che ti dice quando.

IMHO una regola come 500+ righe di codice, refactor o principal DRY sono più applicabili nella maggior parte dei casi. A volte è così semplice.

Ti do così tanto che, poiché la complessità ciclomatica è rappresentata in un diagramma di flusso, può aprire gli occhi. Ma di nuovo, usa con attenzione.

Altri suggerimenti

Secondo me le metriche sono un modo eccellente per trovare punti deboli nella tua base di codice. Sono molto utili anche per mostrare al tuo manager perché dovresti dedicare del tempo a migliorarlo.

Questo è un post che ho scritto al riguardo: http: / /blog.jorgef.net/2011/12/metrics-in-brownfield-applications.html

Spero che sia d'aiuto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top