Nel Sonar, per una particolare classe Java, vedo:differenza tra "complessità" metrica e "complessità/metodo" metrica
Complexity: 830
Complexity /method: 8,1
Come si potrebbe spiegare la differenza tra questi due parametri?
La "complessità" è la complessità della classe?
Qual è la complessità massima di una classe? So che i metodi dovrebbero essere meno di 10 per la complessità del metodo, ma qual è il numero massimo di complessità di classe che una classe dovrebbe conformarsi per essere considerata non complessa?
Grazie.
EDIT
guardo anche Cyclomatic complessità delle regole violazioni nel file.
Per una serie di metodi, sonar dice con diversi numeri di complessità (in francese):
"La complexité cyclomatique de la classe est de 28 alors que le massima autorisé est de 10"
in inglese:
"La complessità ciclomatica classe è 28, ma il massimo consentito è di 10".
Non capisco perché dice "complessità ciclomatica di classe" come sembra un "metodo complessità ciclomatica".
Inoltre, la classe in questione non appare in cima alla classe più complessa ordinata per complessità/metodo medio, in quanto l'ecoscandaglio dice che ha solo una complessità media del metodo di 8,1.
Grazie per la risposta. Forse sono io ma non era così ovvio che "Complessità" significa "somma delle complessità dei metodi", ma ora sembra davvero ovvio. La pagina wiki non afferma che è la somma di tutte le complessità dei metodi. –
@ Jérôme: Ufficialmente, la somma delle complessità di McCabe per una classe si chiama WMC (Weighted Methods per Class) come descritto [qui] (https://sonarqube.sourcemeter.com/plugins/resource/491408?page=sm-help #Complessità). –
il collegamento presentato non si differenzia tra le metriche di complessità che il sonar gestisce: come CoreMetrics.FILE_COMPLEXITY e CoreMetrics.COMPLEXITY – XtianGIS