Quali sono le categorie della complessità ciclomatica? Ad esempio:
1-5: manutenzione facile da gestire
6-10: difficile
11-15: molto difficile
20+: avvicinamento impossibile
Per anni, sono partito dal presupposto che il 10 fosse il limite. E qualsiasi cosa oltre a ciò è male. Sto analizzando una soluzione e sto cercando di determinare la qualità del codice. Certamente la complessità ciclomatica non è l'unica misura, ma può aiutare. Esistono metodi con una complessità ciclomatica di 200+. So che è terribile, ma sono curioso di sapere le gamme più basse, come nel mio esempio sopra.
Ho trovato questo :
The aforementioned reference values from Carnegie Mellon define four rough ranges for cyclomatic complexity values:
- methods between 1 and 10 are considered simple and easy to understand
- values between 10 and 20 indicate more complex code, which may still be comprehensible; however testing becomes more difficult due to the greater number of possible branches the code can take
- values of 20 and above are typical of code with a very large number of potential execution paths and can only be fully grasped and tested with great difficulty and effort
- methods going even higher, e.g. > 50, are certainly unmaintainable
Quando esegui metriche di codice per una soluzione, i risultati mostrano il verde per qualsiasi valore inferiore a 25. Non sono d'accordo con questo, ma speravo di ottenere altro input.
Esiste un elenco di intervalli generalmente accettato per la complessità ciclomatica?