Ich bin gerade dabei, meine Organisation nach dem Wert von Code-Reviews zu verkaufen. Ich habe an verschiedenen Orten gearbeitet, an denen sie beschäftigt waren. Ich habe gesehen, dass sie dazu verwendet wurden, Styling-Entscheidungen und funktionale Entscheidungen zu ignorieren, und ich habe gesehen, dass sie nichts weiter als eine Darmüberprüfung waren, um sicherzustellen, dass nichts Gefährliches implementiert wird. Mein Bauchgefühl ist, dass der effektivste Zweck irgendwo zwischen den beiden Optionen liegt.
Was ist der Zweck einer Codeüberprüfung?
code-reviews
theory
SoylentGray
quelle
quelle
Antworten:
Es gibt mehrere Gründe, warum Sie eine Codeüberprüfung durchführen möchten:
Es gibt mehrere Geschäftsfälle für die Durchführung von Überprüfungen:
Wenn Sie eine umfassende Diskussion zu den Vorteilen und Implementierungsstrategien von Peer Reviews wünschen, empfehlen wir Ihnen, Peer Reviews in Software: Ein praktischer Leitfaden von Karl Wiegers zu lesen .
quelle
this
Kontext überschreibt und ihn nicht.hasOwnProperty
an Orten verwendet, an denen er sein sollte, usw. usw. - Hauptsächlich für Standards. In einer verwalteten Sprache wie C # haben Sie natürlich mehrere Gründe weniger als für dynamische Sprachen.Code Reviews sind ein Werkzeug für den Wissenstransfer .
Wenn Entwickler sich gegenseitig den Code ansehen, werden sie in allen Bereichen des Systems vertraut. Dies reduziert den Busfaktor eines Projekts und macht Entwickler effizienter, wenn sie einen Teil des Systems warten müssen, den sie nicht geschrieben haben.
Wenn ein Junior-Programmierer den Code eines Senioren überprüft, kann der Junior-Programmierer Tricks lernen, die sonst nur durch Erfahrung erlernt wurden. Dies kann auch als Korrekturmaßnahme gegen übermäßig komplizierten Code wirken.
Eine gründliche Codeüberprüfung erfordert häufige Überprüfungen anhand verschiedener Unterlagen. Es ist eine großartige Möglichkeit, eine Sprache oder API zu lernen.
Wenn ein erfahrener Programmierer den Code eines Juniors überprüft, ist dies eine Gelegenheit, Probleme auszubügeln, bevor sie in technische Schulden umgewandelt werden. Eine Codeüberprüfung kann eine gute Einstellung für die Betreuung von Nachwuchsprogrammierern sein.
Code Reviews handeln nicht von:
… Fehler finden. Dafür sind Tests da. Es kommt immer noch häufig vor, dass eine Codeüberprüfung ein Problem feststellt.
… Keine Auswahl bei Stilproblemen - geben Sie sich mit einem Stil zufrieden und verwenden Sie automatisierte Formatierer, um ihn durchzusetzen. Es gibt jedoch viele Dinge, die ein automatisiertes Tool nicht überprüfen kann. Codeüberprüfungen sind ein guter Ort, um sicherzustellen, dass der Code ausreichend dokumentiert ist oder sich selbst dokumentiert.
quelle
Das Wertvollste, was ich persönlich bei einer Codeüberprüfung erhalte, ist die Gewissheit, dass der Code für eine andere Person klar ist . Sind Variablen eindeutig benannt? Ist der Zweck jedes Codeblocks einigermaßen offensichtlich? Wird etwas Zweideutiges mit einem Kommentar geklärt? Sind Randfälle und gültige Werte für Parameter in Kommentaren angegeben und im Code geprüft?
quelle
Ich möchte zwei Bereiche hinzufügen, die von den anderen großartigen Antworten nicht abgedeckt werden:
Ein guter Grund für Code-Reviews ist der Hawthorne-Effekt, der sich in unserem Fall wie folgt niederschlägt: Wenn Sie wissen, dass sich jemand Ihren Code später ansieht, ist es weitaus wahrscheinlicher, dass Sie ihn überhaupt besser schreiben.
Ein weiterer wichtiger Grund ist die Verbesserung der Sicherheit der Entwicklungspraktiken. Man muss sich nur Apples goto fail (eine versehentlich duplizierte Codezeile) oder den Heartbleed-Fehler (ein grundlegender Fehler bei der Eingabevalidierung) ansehen, um zu verstehen, wie wichtig ordnungsgemäße Codeüberprüfungen für einen sicheren Entwicklungslebenszyklus sind.
quelle