Welches ist der bevorzugte Punktzahlbereich für die Berechnung der Code-Metriken für Folgendes
- Wartungsfreundlichkeits-Index
- Zyklomatische Komplexität
- Tiefe der Vererbung
- Klasse Coupling
Welches ist der bevorzugte Punktzahlbereich für die Berechnung der Code-Metriken für Folgendes
Die theoretisch optimalen Werte sind:
Es gibt keine festen, "guten" Bereiche, aber es ist möglich, einige allgemeine Aussagen zu treffen.
Ein Projekt könnte nur dann alle vier Werte gleichzeitig erreichen, wenn es im Wesentlichen nichts tut und nutzlos ist: Software, die nichts tut und von nichts abhängt, ist sicherlich wartbar, aber keine sehr gute Verwendung von Kundengeldern.
Daher ist jede Komplexität ein Kompromiss: zusätzliche sogenannte inhärent Komplexität kodiert mehr Raffinesse in das Programm, so dass es den Funktionsumfang erweitern kann. Was Sie vermeiden möchten, ist zufällig Komplexität, die durch eine schlechte oder mangelhafte Umsetzung entsteht.
Bevor Sie sich zu sehr darauf verlassen (oder überhaupt darauf vertrauen), sollten Sie sich die folgende Seite ansehen, auf der detaillierter beschrieben wird, wie die Metrik berechnet wird:
https://avandeursen.com/2014/08/29/think-twice-before-using-the-maintainability-index/
Der Maintainability Index von VS ist eine schlecht validierte Kombination von Metriken, die sich auf eine Metrik (zyklomatische Komplexität) stützt, die nachweislich nicht mit der Verständlichkeit von Code korreliert (und daher auch nicht mit der Wartbarkeit). Siehe "Automatically Assessing Code Understandability: How Far Are We?", von Scalabrino et al. und https://shape-of-code.com/?s=cyclomatic+Komplexität
Darüber hinaus wurden die Konstanten und Funktionen, die in dieser Metrik verwendet werden, nicht an C#- oder VB-Code kalibriert, was sie noch unbrauchbarer macht.
(Damit wird auf die ursprüngliche Frage eingegangen, indem darauf hingewiesen wird, dass die ursprüngliche Frage gar nicht gestellt werden sollte).
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.