Ich würde mich nicht als Superstar-Entwickler bezeichnen, sondern als relativ erfahren. Ich versuche, die Codequalität auf einem hohen Niveau zu halten, und bin immer bemüht, meinen Codierungsstil zu verbessern, Code effizient, lesbar und konsistent zu machen sowie das Team zu ermutigen, Muster und Methoden zu befolgen, um die Konsistenz sicherzustellen. Ich verstehe auch die Notwendigkeit eines Gleichgewichts zwischen Qualität und Geschwindigkeit.
Um dies zu erreichen, habe ich meinem Team das Konzept der Begutachtung vorgestellt. Zwei Daumen hoch in Github-Pull-Request für einen Merge. Super - aber meiner Meinung nach nicht ohne Schluckauf.
Ich sehe oft Peer-Review-Kommentare von denselben Kollegen wie -
- Wäre gut ein Leerzeichen nach hinzuzufügen
<INSERT SOMETHING HERE>
- Unerwünschte zusätzliche Linie zwischen Methoden
- Punkt sollte am Ende der Kommentare in docblocks verwendet werden.
Aus meiner Sicht betrachtet der Rezensent die Code-Ästhetik nur oberflächlich und führt nicht wirklich eine Code-Rezension durch. Die Überprüfung des Kosmetikcodes kommt mir als arrogante / elitäre Mentalität vor. Es mangelt ihm an Substanz, aber man kann nicht wirklich zu viel damit streiten, weil der Rezensent technisch korrekt ist . Ich würde viel lieber weniger der oben genannten Arten von Bewertungen und mehr Bewertungen wie folgt sehen:
- Sie können die zyklomatische Komplexität reduzieren, indem Sie ...
- Beende früh und vermeide if / else
- Abstrahieren Sie Ihre DB-Abfrage in ein Repository
- Diese Logik gehört nicht wirklich hierher
- Wiederholen Sie sich nicht - abstrakt und wiederverwenden
- Was würde passieren, wenn
X
es als Argument an method übergeben würdeY
? - Wo ist der Komponententest dafür?
Ich finde, dass es immer die gleichen Arten von Leuten sind, die die kosmetischen Arten von Bewertungen abgeben, und die gleichen Arten von Leuten, die meiner Meinung nach die Peer-Bewertungen auf der Grundlage von "Qualität und Logik" abgeben.
Was ist (wenn überhaupt) der richtige Ansatz für die Begutachtung durch Fachkollegen? Und habe ich Recht, wenn ich mit denselben Leuten frustriert bin, die im Grunde genommen den Code überfliegen, um nach Rechtschreibfehlern und ästhetischen Fehlern zu suchen, anstatt nach tatsächlichen Codefehlern?
Wenn ich richtig liege, wie würde ich Kollegen dazu ermutigen, tatsächlich nach Fehlern im Code zu suchen, und dabei kosmetische Korrekturen vorschlagen?
Wenn ich falsch liege - bitte klären Sie mich auf. Gibt es Faustregeln für eine gute Codeüberprüfung? Habe ich den Punkt verpasst, von dem Code-Bewertungen sind?
Aus meiner Sicht geht es bei der Codeüberprüfung um die gemeinsame Verantwortung für den Code. Ich würde mich nicht wohl fühlen, wenn ich dem Code die Daumen hoch geben würde, ohne Logik, Lesbarkeit und Funktionalität zu adressieren / zu überprüfen. Ich würde mich auch nicht darum kümmern, eine Zusammenführung für ein solides Stück Code zu blockieren, wenn ich bemerken würde, dass jemand einen Punkt in einem Dokumentblock weggelassen hätte.
Wenn ich den Code überprüfe, verbringe ich möglicherweise zwischen 15 und 45 Minuten pro 500 Lok. Ich kann mir nicht vorstellen, dass diese flachen Reviews länger als 10 Minuten dauern, wenn das die Tiefe der Reviews ist, die sie durchführen. Wie viel Wert hat der Daumen nach oben vom flachen Prüfer? Dies bedeutet sicherlich, dass nicht alle Daumen gleich schwer sind und möglicherweise ein Überprüfungsprozess mit zwei Durchgängen durchgeführt werden muss. Ein Daumen für tiefe Reviews und ein zweiter Daumen für das "Polieren"?