Im Allgemeinen hängt der Wartbarkeitsindex von vielen Faktoren ab. In Visual Studio hängt es beispielsweise von der zyklomatischen Komplexität, der Vererbungstiefe, der Klassenkopplung und den Codezeilen ab. Diese vier Werte müssen so niedrig wie möglich sein.
Gleichzeitig habe ich weder in Codemetriktools noch in Büchern den Vergleich zwischen nur zyklomatischer Komplexität (CC) und Codezeilen (LC) gesehen.
Ist es sinnvoll, ein solches Verhältnis zu berechnen? Welche Informationen gibt es über den Code? Mit anderen Worten, ist es besser, den CC stärker zu verringern als den LC, um ein niedrigeres Verhältnis zu erhalten?
Was mir auffällt ist, dass bei kleinen Projekten das Verhältnis CC / LC niedrig ist (⅓ und niedriger). Mit anderen Worten ist LC hoch und CC niedrig. In großen Projekten ist CC / LC in den meisten Fällen größer als ½. Warum?
quelle
Antworten:
Von http://en.wikipedia.org/wiki/Cyclomatic_complexity
Das Verhältnis hat ungefähr die gleiche Vorhersagefähigkeit wie jedes separat verwendete.
quelle
Es gibt eine Metrik der zyklomatischen Komplexität pro Quellanweisung - sie wird als zyklomatische Komplexitätsdichte bezeichnet . Diese Metrik kann verwendet werden, um die für Softwareprojekte erforderliche Wartungszeit und -aufwand abzuschätzen.
quelle
Wie in einer früheren Antwort erwähnt, ist diese Aussage in der akzeptierten Antwort eindeutig falsch.
Die CC-Dichte hat sich von verschiedenen Forschern als sinnvoll erwiesen, obwohl sie bei Praktikern anscheinend keine nennenswerte Popularität erlangt hat. Es gibt Hinweise von zwei bekannten Wissenschaftlern im Bereich Softwaremetriken, dass das Verhältnis (zyklomatische Komplexitätsdichte = CC / KLOC) ein viel besserer Prädiktor für die Wartungsproduktivität ist als das CC oder KLOC allein.
GK Gill und CF Kemerer, "Zyklomatische Komplexitätsdichte und Softwarewartungsproduktivität", in IEEE Transactions on Software Engineering, vol. 17, nein. 12, S. 1284-1288, Dezember 1991. doi: 10.1109 / 32.106988
Es gibt viele andere, die auf dieser Arbeit aufgebaut haben, um auf der CC-Dichte basierende Metriken zu verfeinern. Zwei Beispiele:
T. Andersson, K. Enholm und A. Törn. Längenunabhängiges Maß für die Komplexität von Software. In M. Ross, CA Brebbia, C. Staples und J. Stapleton (Hrsg.), Zweite Internationale Konferenz über Softwarequalitätsmanagement, Band 1, Managing Quality Systems, 1994.
JP Mittal, Pradeep Bhatia und Harish Mittal. 2009. Produktivitätsbewertung der Softwarewartung mithilfe von Fuzzy-Logik. SIGSOFT Softw. Eng. Anmerkungen 34, 5 (Oktober 2009), 1-4. DOI = http://dx.doi.org/10.1145/1598732.1598739
quelle
Entschuldigung, aber ich bin mit dieser Aussage nicht einverstanden:
Ein Verhältnis ist eindeutig nicht dasselbe wie eine einzelne Metrik. Basierend auf empirischen Daten behauptet Hatton, dass CC proportional zu XLOC mit einem konstanten Verhältnis von etwa 0,25 (siehe Folie 17) für seinen spezifischen Datensatz ist. Unabhängig davon, ob Ihr XLOC 60 oder 400 beträgt, beträgt Ihr CC: XLOC-Verhältnis etwa 0,25 (ohne Berücksichtigung statistischer Abweichungen bei höheren Zahlen). Das Verhältnis ist also überhaupt nicht vorhersagbar.
quelle