In Sonar, für eine bestimmte Java-Klasse, ich sehe:Unterschied zwischen „Komplexität“ Metrik und „Komplexität/Verfahren“ metric
Complexity: 830
Complexity /method: 8,1
Wie könnte man den Unterschied zwischen diesen beiden Metriken erklären?
Ist "Komplexität" die Klassenkomplexität?
Worin liegt die maximale Komplexität einer Klasse? Ich weiß, dass Methoden für die Komplexität der Methode weniger als 10 sein sollten, aber was ist die maximale Klassenkomplexitätszahl, der eine Klasse entsprechen sollte, um als nicht komplex betrachtet zu werden?
Danke.
EDIT
ich auch einen Blick auf Zyklomatische-Komplexität Regelverletzungen in der Datei.
Für eine Reihe von Methoden, sagt Sonar mit unterschiedlicher Komplexität Zahlen (auf Französisch):
"La complexité cyclomatique de la classe est de 28 alors que le maximal autorisé est de 10."
in Englisch:
"Die Klasse zyklomatische Komplexität 28 ist aber das Maximum ist erlaubt 10".
Ich verstehe nicht, warum es sagt "Klasse zyklomatische Komplexität", wie es scheint, als eine "Methode zyklomatische Komplexität".
Auch die fragliche Klasse erscheint nicht über der komplexesten Klasse, sortiert nach durchschnittlicher Komplexität/Methode, da das Sonar nur eine durchschnittliche Methodenkomplexität von 8,1 hat.
Danke für Ihre Antwort. Vielleicht bin ich es, aber es war nicht so offensichtlich, dass "Komplexität" soviel bedeutet wie "Komplexität der Methoden", aber jetzt scheint es offensichtlich. Die Wiki-Seite besagt nicht, dass es sich um die Summe aller Methodenkomplexitäten handelt. –
@ Jérôme: Offiziell heißt die Summe von McCabes Komplexitäten für eine Klasse WMC (Weighted Methods pro Class) wie beschrieben [hier] (https://sonarqube.sourcemeter.com/plugins/resource/491408?page=sm-help #Komplexität). –
Der dargestellte Link unterscheidet nicht zwischen den Komplexitätsmetriken, die Sonar behandelt: wie CoreMetrics.FILE_COMPLEXITY und CoreMetrics.COMPLEXITY – XtianGIS