En Sonar, para una clase particular de Java, veo:Diferencia entre "complejidad" métrico y "complejidad/método de la" métrica
Complexity: 830
Complexity /method: 8,1
¿Cómo podría explicar la diferencia entre esos dos métricas?
¿Es "Complejidad" la complejidad de la clase?
¿Cuál es la complejidad máxima que debe tener una clase? Sé que los métodos deberían ser menos de 10 para la complejidad del método, pero ¿cuál es el número máximo de complejidad de clase que una clase debería cumplir para que no se considere complejo?
Gracias.
EDITAR
también miro violaciónes regla Ciclomática-complejidad en el archivo.
Desde hace varios métodos, el sonar dice con diferentes números de complejidad (en francés):
"La complexité cyclomatique de la classe est de 28 alors Que le autorisé máxima est de 10."
en Inglés:
"La complejidad ciclomática clase es 28, pero el máximo permitido es de 10".
No entiendo por qué dice "complejidad ciclomática de clase" ya que parece ser un "método de complejidad ciclomática".
Además, la clase en cuestión no aparece en la parte superior de la clase más compleja ordenada por la complejidad/método promedio, ya que sonar dice que solo tiene una complejidad de método promedio de 8,1.
Gracias por la respuesta. Tal vez soy yo, pero no era tan obvio que "Complejidad" significa "suma de complejidad de métodos", pero ahora parece obvio. La página wiki no indica que es la suma de todas las complejidades de los métodos. –
@ Jérôme: Oficialmente, la suma de las complejidades de McCabe para una clase se llama WMC (métodos ponderados por clase) como se describe [aquí] (https://sonarqube.sourcemeter.com/plugins/resource/491408?page=sm-help #Complejidad). –
el enlace presentado no diferencia entre las métricas de complejidad que maneja el sonar: como CoreMetrics.FILE_COMPLEXITY y CoreMetrics.COMPLEXITY – XtianGIS