Kann mir jemand bestimmte Metriken erklären



  • Hallo alle zusammen,

    Ich habe einige Quellen von einem statischen Analysetool auswerten lassen.
    Die Werte der Metriken sagen mir, dass in meiner Klasse noch einiges im Argen liegt. Ich weiß jedoch bei jeder Metrik genau, was sie mir sagen soll und vor allem, wie man diesen Wert verbessern könnte.

    Nun zu den Metriken....

    • LCOM (Percent Lack of Cohesion) --> 81

    Was sagt mir diese Metrik genau? 81 % ist auf jeden Fall ein schlechter Wert

    • Ratio Comment / Code --> 0.99

    Meint ihr, dass im Schnitt eine Zeile Kommentar auf eine Zeile Code reicht? Ich habe versucht nur sinnvolle Kommentare einzufügen und nicht "Dies ist eine schleife, ..."

    • Die legendäre Mc Cabe Komplexität --> (für die einzelnen Methoden) zwischen 1 und 14

    Sind 14 schon zu hoch? Wie kann ich sie senken?

    Ich hoffe, dass mich jemand aufklären kann...

    Gruß Paddy



  • Ich weiß jedoch bei jeder Metrik genau, was sie mir sagen soll und vor allem, wie man diesen Wert verbessern könnte.

    Wieso fragst du überhaupt ?



  • Weil es mich interressiert. Was ist denn das für eine Frage?



  • Paddy82 schrieb:

    Ich weiß jedoch bei jeder Metrik genau, was sie mir sagen soll und vor allem, wie man diesen Wert verbessern könnte.

    Wenn du weißt, was diese Metriken bedeuten sollen, wieso fragst du dann noch?

    • Ratio Comment / Code --> 0.99

    Meistens reicht eine Zusammenfassung, was die Methode machen soll, am Anfang und ein paar Kommenatare an kritischen Stellen (finde ich).



  • Paddy82 schrieb:

    Nun zu den Metriken....

    • LCOM (Percent Lack of Cohesion) --> 81

    Was sagt mir diese Metrik genau? 81 % ist auf jeden Fall ein schlechter Wert

    (b) Lack of Cohesion with Functionality: Though experiments have repeatedly confirmed that effort is highly correlated with LOC, functionality is less well correlated with LOC. That is, skilled developers may be able to develop the same functionality with far less code, so one program with less LOC may exhibit more functionality than another similar program. In particular, LOC is a poor productivity measure of individuals, since a developer can develop only a few lines and still be more productive than a developer creating more lines of code.

    http://en.wikipedia.org/wiki/Source_lines_of_code

    • Ratio Comment / Code --> 0.99

    Meint ihr, dass im Schnitt eine Zeile Kommentar auf eine Zeile Code reicht? Ich habe versucht nur sinnvolle Kommentare einzufügen und nicht "Dies ist eine schleife, ..."

    • Die legendäre Mc Cabe Komplexität --> (für die einzelnen Methoden) zwischen 1 und 14

    Sind 14 schon zu hoch? Wie kann ich sie senken?

    Wenn ich bei mir ausgehe allein 10 Zeilen im Header für die API-DOC, müsste ich schon eine Klasse von 1000 LOC haben, um den Wert 99% zu erreichen.
    Spreche für schlechte Struktur und/oder einer schlechten Documentation.

    Eine Metrik ist keine Stoppuhr für Entwickler!

    Nur unerfahrende Entwickler glauben, dass ihr Code für alle Zeiten perfekt ist.

    Man kann solche Tools einsetzen um mal zu kucken, wo man refaktorieren kann. Aber man sollte die Ergebnisse nicht überbewerten. Denn es gibt Momente im Leben eines Entwicklers, wo er froh sein kann überhaupt im absehbarer Zeit eine brachbare Lösung entwickelt zu haben. Perfektionswahn führt nämlich dazu, dass nichts fertig oder manchmal sogar nicht einmal angefangen wird.


Anmelden zum Antworten