Größe ist der beste Indikator für die Codequalität (2011)

Nach meinem letzten Artikel, in dem ein Zusammenhang zwischen der Gesamtgröße eines Programms und den darin enthaltenen Fehlern vermutet wurde, bin ich über diesen Blogpost und diesen Kommentar zu diesem Artikel geführt worden. Das ist eigentlich meine Lieblingsbeschäftigung beim Bloggen.

Khaled El Emam, Saida Benlarbi, Nishith Goel und Shesh N. Rai: „Der verwirrende Effekt der Klassengröße auf die Gültigkeit objektorientierter Metriken“. IEEE Transactions on Software Engineering, 27(7), Juli 2001.

Dies ist ein langer und gut geschriebener Artikel, der viele allgemeine Informationen zu Codemetriken enthält.

Wenn Sie alle Nuancen verstehen möchten, werde ich sie hier nicht wiedergeben, lesen Sie den vollständigen Artikel.

Hier ist jedoch das tl;dr:

Eine lange Papierspur von Softwareentwicklungsstudien hat gezeigt, dass viele interne Codemetriken (wie Methoden pro Klasse, Tiefe des Vererbungsbaums, Kopplung zwischen Klassen usw.) mit Metriken externe Attribute, deren wichtigste Bugs sind. Was die Autoren dieses Artikels zeigen, ist, dass, wenn sie eine zweite Variable, nämlich die Gesamtgröße des Programms, in die statistische Analyse und Kontrolle einführen, die Korrelation zwischen all diesen Codemetriken und den Fehlern verschwindet.

Das alte Modell sah so aus: Strukturelle Eigenschaften des Codes, die mit verschiedenen Metriken gemessen werden können, beeinflussen seine kognitive Komplexität, die sich wiederum auf externe Attribute wie Fehleranzahl, Wartbarkeit usw. auswirkt.

Dieser Artikel offenbart jedoch einen starken Zusammenhang zwischen den meisten Codemetriken und der Codegröße, die zusammen zu extern beobachtbaren Attributen wie Fehlern führen.

Dies bestätigt also teilweise meine Annahme, dass die Anzahl der Fehler nur anhand der Gesamtzahl der Codezeilen vorhergesagt werden kann. Yegge hat es richtig verstanden, als er sagte, Größe sei der schlimmste Feind des Codes. Allerdings habe ich noch keine Studien gefunden, die zeigen, wie dieser Zusammenhang aussieht. Steigt die Anzahl der Fehler linear mit der Codegröße? Sublinear? Superlinear? Meine Intuition sagt mir immer "sublinear".

Größe ist der beste Indikator für die Codequalität (2011)

Nach meinem letzten Artikel, in dem ein Zusammenhang zwischen der Gesamtgröße eines Programms und den darin enthaltenen Fehlern vermutet wurde, bin ich über diesen Blogpost und diesen Kommentar zu diesem Artikel geführt worden. Das ist eigentlich meine Lieblingsbeschäftigung beim Bloggen.

Khaled El Emam, Saida Benlarbi, Nishith Goel und Shesh N. Rai: „Der verwirrende Effekt der Klassengröße auf die Gültigkeit objektorientierter Metriken“. IEEE Transactions on Software Engineering, 27(7), Juli 2001.

Dies ist ein langer und gut geschriebener Artikel, der viele allgemeine Informationen zu Codemetriken enthält.

Wenn Sie alle Nuancen verstehen möchten, werde ich sie hier nicht wiedergeben, lesen Sie den vollständigen Artikel.

Hier ist jedoch das tl;dr:

Eine lange Papierspur von Softwareentwicklungsstudien hat gezeigt, dass viele interne Codemetriken (wie Methoden pro Klasse, Tiefe des Vererbungsbaums, Kopplung zwischen Klassen usw.) mit Metriken externe Attribute, deren wichtigste Bugs sind. Was die Autoren dieses Artikels zeigen, ist, dass, wenn sie eine zweite Variable, nämlich die Gesamtgröße des Programms, in die statistische Analyse und Kontrolle einführen, die Korrelation zwischen all diesen Codemetriken und den Fehlern verschwindet.

Das alte Modell sah so aus: Strukturelle Eigenschaften des Codes, die mit verschiedenen Metriken gemessen werden können, beeinflussen seine kognitive Komplexität, die sich wiederum auf externe Attribute wie Fehleranzahl, Wartbarkeit usw. auswirkt.

Dieser Artikel offenbart jedoch einen starken Zusammenhang zwischen den meisten Codemetriken und der Codegröße, die zusammen zu extern beobachtbaren Attributen wie Fehlern führen.

Dies bestätigt also teilweise meine Annahme, dass die Anzahl der Fehler nur anhand der Gesamtzahl der Codezeilen vorhergesagt werden kann. Yegge hat es richtig verstanden, als er sagte, Größe sei der schlimmste Feind des Codes. Allerdings habe ich noch keine Studien gefunden, die zeigen, wie dieser Zusammenhang aussieht. Steigt die Anzahl der Fehler linear mit der Codegröße? Sublinear? Superlinear? Meine Intuition sagt mir immer "sublinear".

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow