G'day,Schlechte Gerüche, wenn Review-Code den Ansatz beeinflusst?
Ich war von Kristopher Johnson über meine Antwort auf diesen question in Bezug auf Software-Entwicklung Qualität zu einem Kommentar zu denken.
würde ich geschrieben eine Liste von Software-Qualitätsmetriken, die ich aus der Spitze von meinem Kopf denken konnte, die enthielten:
- McCabe zyklometrische Komplexität - im Grunde ein Maß für die Anzahl von linearen Pfaden durch Code.
- Ebenen der Einrückung - ein Maß für die Komplexität bei der Betrachtung verschachtelter Entscheidungsaussagen.
- Abstand von Deklaration bis zur ersten Verwendung - wie viele Anweisungen existieren zwischen dem, wo eine Variable deklariert wird und wo sie zuerst verwendet wird.
- Kommentar Prozentsatz - wie viele Zeilen Code sind Kommentare im Vergleich zum Quellcode.
- Prozentsatz der Testabdeckung - als Prozentsatz der Codezeilen wird angegeben, wie viele Tests durchgeführt werden.
- Pfad Testabdeckung - wie viele Pfade der Ausführung werden von Ihren Tests ausgeübt.
- Einheitenabdeckung - wie viele einzelne Einheiten, Klassen, Pakete usw. werden von Ihren Komponententests ausgeführt.
Kris Kommentar war:
Nur die Testüberdeckungsmetriken hier aufgeführten könnte ein gewisses Maß an in Betracht gezogen werden „Qualität.“ Die anderen sind Messungen von Komplexität und Lesbarkeit, die wirklich nichts mit Qualität zu tun haben.
Abgesehen von der Tatsache, dass ich mit dieser Aussage überhaupt nicht einverstanden bin, hat es mich zum Nachdenken gebracht.
Wenn ich Code überprüfen muss, der kaum zugehörige Tests hat, egal ob Einheit, System oder Integration, neige ich dazu, den Code viel, viel vorsichtiger anzugehen, als wenn ich eine gute Suite von Tests sehe, die erfolgreich bestanden wurden.
Das Gleiche gilt für Sicherheitsüberprüfungen von Code. Wenn ich unbenutzte Variablen, riesige Funktionen, bizarre Mischungen von Konfigurationen, pro Server, pro Verzeichnis usw. in Apache-Modulen verwende, prädestiniert es mich auch, den Code sehr vorsichtig anzugehen.
Verwendet jemand anderes diesen anfänglichen "Bauchgefühl" -Ansatz und beeinflusst er das Ergebnis?
BTW Ich stimme Kris Kommentar nicht, da alle anderen Metriken definitiv gültige Maßnahmen sind, die helfen, schlecht entworfenen, schlecht ausgeführten Code hervorzuheben. Wie Damian Conway sagt:
Immer Code, als ob der Typ, der endet, Ihren Code aufrechtzuerhalten, ein gewalttätiger Psychopath sein wird, der weiß, wo Sie leben.
Aber sicherlich ist "Bauchgefühl" erst nach einer langen Zeit bitterer Erfahrung festzustellen und kann daher nicht im Bereich des "Anfängers" liegen? –
Es ist so wie es ist. – aku
Entschuldigung aku! Ich liege niedergeschlagen vor dir und entschuldige mich dafür, dass du deinen Kommentar nicht gelesen hast. Ich sehe, wir stimmen wirklich zu! (-: –