Viele gute Antworten hier. Einige Dinge, die ich hinzufügen würde:
Wenn Sie Code jemand anderem erklären müssen, stellt der Entwickler im Verlauf der Erklärung möglicherweise plötzlich fest, dass er einen Fehler hat. Ich habe immer wieder gesehen, dass der Entwickler in seinen Tracks stehen bleibt und "Oh, warte, das ist falsch" sagt, bevor der Rezensent die Sache gut genug verstanden hat, um den Fehler zu erkennen.
Wenn Sie wissen, dass Ihr Code von einer anderen Person überprüft wird, erhalten Sie mehr Anreize für die Verwendung von Codierungsstandards (was die Wartung erleichtert) oder weniger "Cowboy" -Methoden, die niemand außer Ihnen (und manchmal auch nicht Sie selbst) jemals verstehen wird. Sie möchten sich nicht schämen, wenn Sie Ihren Code jemand anderem zeigen, damit Sie ihn besser bearbeiten können. Aufgrund des Peinlichkeitsfaktors bleibt weniger Code mit folgenden Kommentaren: "Ich weiß nicht, warum das funktioniert, aber spiele nicht damit herum." in der Codebasis.
Entwickler, die eine umfassendere Überwachung oder Schulung benötigen, können leicht identifiziert werden. Also sind die absolut inkompetent. Je früher Sie Leistungsprobleme finden und beheben können, desto besser ist das gesamte Team und desto höher ist die Qualität der Anwendung. Es ist gut, diese Informationen herauszufinden, bevor Sie den neuen Mann, der eine Schulung benötigt, dem schwierigsten und kritischsten Teil Ihrer Bewerbung zuordnen.
Manchmal geht es nur darum, eine falsche Wahrnehmung zu korrigieren, die es erspart, den gleichen Fehler an einer Reihe von anderen Orten zu machen. Zum Beispiel haben wir kürzlich einige SQL-Anweisungen auf komplexe Berichte überprüft und festgestellt, dass einige unserer neuen Entwickler das gleiche Missverständnis darüber hatten, wo eine bestimmte Information in der Datenbank zu finden ist (zugegebenermaßen schien der Ort, den sie ausgewählt haben, logisch, was für uns ein Problem beim Datenbankdesign ist müssen auch beheben), das wäre entscheidend für das korrekte Schreiben aller Berichte. Indem das Problem gefunden und in den ersten Berichten behoben wurde, konnte derselbe Fehler in den übrigen Berichten vermieden werden. Und etwas, an das sich die älteren (in der Zeit arbeitenden, nicht älteren) Entwickler so gewöhnt hatten, dass sie nicht dachten, es wäre erklärungsbedürftig, kam heraus.
Junioren können aus dem komplexeren Code lernen, den Senioren geschrieben haben (die zum Beispiel die Fehlerbehebung und Randfälle besser verstehen), und Senioren können aus den neuen Techniken lernen, die Junioren anwenden, denen sie noch nicht ausgesetzt waren.
Manchmal stellen Mitarbeiter, die an verschiedenen, aber verwandten Teilen der Anwendung arbeiten, fest, dass sie in zwei verschiedene und sich gegenseitig ausschließende Richtungen gehen. Hoppla, jetzt einfacher zu reparieren.
Es ist nicht so einfach, hartcodierte Werte einzugeben, die sich im Laufe der Zeit ändern werden, um die Sache jetzt zum Laufen zu bringen. Dies verhindert viele zukünftige Fehler, die sich beispielsweise zu Beginn eines jeden Geschäftsjahres ändern.
Manchmal war ich nicht sicher, wie ich etwas machen sollte, und habe eine neue Technik gelernt, die genau das war, was ich wollte, wenn ich den Code eines anderen überprüfte.
Wenn Sie wissen, wie die anderen Mitglieder Ihres Teams denken (welche Codeüberprüfung hilft Ihnen, dieses Verständnis zu erlangen), können Sie Probleme später leichter beheben, da Sie zunächst verstehen, wie Joe auf diese Art und Weise vorgegangen wäre Problem.