Dove definisco la densità della complessità ciclomatica come:
Cyclomatic complexity density = Cyclomatic complexity / Lines of code
Leggevo discussioni precedenti sulla complessità ciclomatica e sembra esserci una sorta di consenso sul fatto che abbia mescolato l'utilità, e come tale probabilmente non c'è un strong motivo per usarlo su una semplice metrica di codice (LOC) . Cioè Poiché le dimensioni di una classe o di un metodo aumentano oltre una certa soglia, la probabilità di difetti e di quelle che sono state scelte di design scadenti aumenta.
Mi sembra che la complessità ciclomatica (CC) e LOC tenderanno ad essere correlate, quindi l'argomento per l'uso della metrica LOC più semplice. Tuttavia, potrebbero esserci casi anomali in cui la complessità è più elevata in alcune regioni del codice, cioè c'è una maggiore densità di rami di esecuzione in alcuni pezzi (rispetto alla media) e mi chiedo se questo tenderà ad essere correlato con il presenza di difetti.
Esistono prove a favore o contro, o ci sono esperienze sull'uso di una tale metrica di densità di complessità?
O forse una metrica migliore è avere sia una soglia LOC sia una soglia CC, e consideriamo il superamento della soglia come negativa.