Domanda

Qual è la gamma punteggio preferito per il calcolo metriche del codice per il seguente

  • Maintainability Index
  • complessità ciclomatica
  • Profondità di Inheritance
  • class accoppiamento
È stato utile?

Soluzione

I valori teoricamente ottimali sono:

  • Indice Manutenibilità: 100. I valori più alti indicano una migliore manutenibilità
  • .
  • Cyclomatic complessità:. 1. Il numero di percorsi diversi che il codice può prendere
  • Profondità di eredità:. 1. Il numero di definizioni di classi di sopra di questo uno in l'albero di ereditarietà, non comprese le interfacce
  • accoppiamento Classe:. 0. Numero di altri enti questa entità dipende da

Non ci sono duro e veloce gamme "buoni", anche se è possibile fare alcune affermazioni generali.

  • Avere alta ciclomatica complessità per-metodo suggerisce un metodo sta diventando troppo complicata.
  • Avere una profondità eredità più di circa 3 o 4 (di le proprie classi, non il quadro) è un segno difficoltà che si può essere inutilmente che rappresenta relazioni astratte che non sono realmente nel dominio del software.
  • accoppiamento bassa classe è in generale migliore, ma a volte è inevitabile. Per quanto possibile, si dovrebbe assolutamente ridurre al minimo la dipendenza tra gli spazi dei nomi, dal momento che c'è molto meno ragioni per le dipendenze qui.

Un progetto potrebbe solo raggiungere tutti i quattro valori simultaneamente essenzialmente non fare nulla e di essere inutili:. Un software che non fa nulla e dipende da nulla è certamente gestibile, ma non un buon uso dei dollari client

Pertanto, ogni complessità è un compromesso: ulteriore cosiddetto inerente complessità codifica più sofisticazione nel programma, permette di espandere il set di funzionalità. Ciò che si vorrebbe evitare è accidentale complessità introdotta da un'implementazione scarsa o carente.

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