In meiner Firma führt meistens der Architekt Codeprüfungen durch. Er ist ein sehr erfahrener und kluger Software-Typ, also kann er das sehr gut. Wenn Entwickler die Codeüberprüfungen durchführen, machen sie es nicht halb so gut. Wir haben versucht, den Entwicklern mehr Code-Überprüfungen zu ermöglichen, aber die Qualität der Code-Überprüfungen war nicht gut. Wir verwenden Scrum als Entwicklungsmethode.
Mit dem gegenwärtigen System gibt es jedoch zwei Probleme:
Der Architekt wird zum Engpass
Entwickler übernehmen keine Verantwortung für die Qualität des Codes und der Architektur (was zu allen möglichen Problemen führt).
Wie können wir diese Probleme angehen? Sollten wir ändern, wer den Code überprüft?
code-reviews
Eugene
quelle
quelle
Antworten:
Entwickler sollten Codeüberprüfungen durchführen. Sie sollten Codeüberprüfungen durchführen, da sie den Code, die Standards und Praktiken des Unternehmens kennen sollten. Indem Sie von einer anderen Person Code-Überprüfungen durchführen lassen, erklären Sie Ihren Entwicklern, dass es nicht ihre Verantwortung ist, sicherzustellen, dass der Code den Unternehmensstandards entspricht.
Wenn Sie der Meinung sind, dass sie eine Schulung für das Durchführen von Codeüberprüfungen benötigen, holen Sie sie sich. In Anbetracht Ihrer aktuellen Situation kann ein Entwickler die Codeüberprüfung durchführen und diese dann von Ihrem Architekten kommentieren lassen. Lassen Sie den Entwickler die Überprüfung dem Architekten zur Genehmigung vorlegen, bevor Sie sie an den Absender weiterleiten.
quelle
In dieser Situation benötigen Sie das Wissen dieses erfahrenen Entwicklers, um den Rest des Teams wachsen zu lassen. Die Qualität eines Teams wird nicht durch die Fähigkeiten des besten Entwicklers bestimmt. es wird durch die Fähigkeiten des Schlimmsten definiert. Sie können Dinge ausprobieren wie:
Kollaborative Überprüfungen. Das hat in meiner letzten Mannschaft sehr gut geklappt. Wir stellten das gesamte Team in einen Raum mit einem Projektor und begannen, einige Gegenstände zu überprüfen. Vielleicht ist der Architekt am Anfang derjenige, der die Überprüfung leitet, aber in einigen Wochen (wir haben jeden Freitag ein oder zwei Stunden reserviert) beginnt das gesamte Team, die Schlüsselkonzepte zu sprechen und zu verstehen, die derzeit nur der Architekt zu kennen scheint.
Paar-Programmierung. Für mich ist dies das beste Werkzeug, um Wissen im Team zu verbreiten.
quelle
Ich kann zwar nachvollziehen, dass der System- / Software-Architekt alle Änderungen / Festschreibungen abzeichnet, aber die Software-Entwickler sollten in der Lage sein, Überprüfungen durchzuführen, ohne den Architekten einzubeziehen - mit Ausnahme von Schiedsverfahren.
Meine bevorzugten [*] Überprüfungsverfahren sind:
Meine kurze Antwort auf Ihre Frage lautet also: Die Entwickler sollten Überprüfungen ändern.
[*] Leider funktionieren die Projekte, an denen ich beteiligt bin, nicht immer so.
quelle
Ich mag die Praxis der gelegentlichen Team-Code-Überprüfungen, die das gesamte Team und die Architekten umfassen, aber dann viele, viele Code-Überprüfungen zwischen zwei oder drei Mitgliedern des Teams.
Wenn es sich um wirklich kniffligen oder sensiblen Code handelt, ziehen Sie den Architekten oder leitende Mitglieder des Teams hinzu.
Ehrlich gesagt, klingt es irgendwie lächerlich, wenn ein Architekt Code-Reviews durchführt. Er sollte Designüberprüfungen oder gelegentliche Codeüberprüfungen informell durchführen, um sein Fachwissen zu teilen. Das Engineering-Team sollte die Verantwortung für den Code übernehmen. Wenn es Probleme gibt, werden sie es mit der Zeit besser machen.
quelle
Ich stimme zu, wenn nur eine Person Reviews macht, wird der Rest der Jungs wahrscheinlich einfach sagen: "Ich weiß nicht, es scheint zu funktionieren, aber lassen Sie den Schlauen herausfinden, ob es in Ordnung ist oder nicht." Ich kann mir Folgendes vorstellen:
i
quelle