Die Filialen sollten auf der Grundlage meiner Erfahrung mit der Verwendung in Pre-Commit-Überprüfungen bei früheren Jobs in Ordnung funktionieren.
Beachten Sie, dass wir vor dem Festschreiben nur Überprüfungen für kritische Patches für den Serienversionskandidatencode verwendet haben, sodass es nicht viele Zweige gab (routinemäßige Änderungen wurden nach dem Festschreiben überprüft).
Da Sie anscheinend Pre-Commit-Überprüfungen für alle Änderungen verwenden werden, müssen Sie möglicherweise eine große Anzahl von Filialen verwalten. Wenn Sie erwarten, dass der Entwickler durchschnittlich eine "überprüfbare" Änderung pro Woche vornimmt, stehen Ihnen pro Entwickler im Team jährlich etwa 50 Niederlassungen zur Verfügung. Wenn Sie kleinere Arbeitsstücke verwenden - wie diejenigen, die 1, 2, 3 ... Tage benötigen - multiplizieren Sie 50 mit 2, 3, 5 ... entsprechend.
Im Folgenden finden Sie einige weitere Überlegungen, die Sie berücksichtigen sollten, wenn Sie dies am besten möchten .
1. Behandlung von Fällen, in denen eine verzögerte Überprüfung den Code blockiert, der für andere Teammitglieder benötigt wird
Feststellen, Überwachen und Lösen von Konflikten im Zusammenhang mit Fristen für die Codeüberprüfung. Nach meiner Erinnerung an Überprüfungen im Vorfeld von Routineänderungen, die ich in einem der vergangenen Projekte durchgeführt habe, beträgt die angemessene Frist etwa 3 Tage, und es ist Zeit, sich Sorgen zu machen, wenn die Überprüfung nicht mehr als 1 Tag nach der Einreichung abgeschlossen ist.
Zum Vergleich: Bei Überprüfungen nach dem Festschreiben sind diese Anforderungen viel entspannter (ich habe eine Frist von 2 Wochen und mache mir nach 1 Woche Sorgen). Da Sie jedoch Überprüfungen vor dem Festschreiben als Ziel festlegen, ist dies wahrscheinlich nicht interessant.
2. Zusammenführen von Konflikten beim Senden von überprüftem Code
Was ist zu tun, wenn das Festschreiben für überprüften Code durch widersprüchliche Änderungen blockiert wird, die von einer anderen Person festgeschrieben wurden, während der Code auf die Überprüfung wartete?
Einige Optionen zu prüfen sind
- Rollback zum Anfang und Aufforderung an Entwickler, die Änderung erneut zu implementieren und zu überprüfen
In diesem Fall müssen Sie möglicherweise negative Auswirkungen auf die Teammoral haben (wird!).
- Übergabe der Verantwortung für das Zusammenführen an ein anderes Teammitglied ("Zusammenführungsmaster")
In diesem Fall müssen Sie auch entscheiden, ob Zusammenführungen per se vor dem Festschreiben überprüft werden sollen oder nicht - und wenn ja, was tun, wenn Diese Verschmelzung trifft wiederum auf einen anderen Konflikt.
- Ignorieren Sie Änderungen an überprüftem Code in der Phase des Zusammenführens.
In diesem Fall müssen Sie möglicherweise einen negativen Einfluss auf die Teammoral ausüben, der sich aus der Tatsache ergibt, dass der festgeschriebene Code von dem Code abweicht, der überprüft wurde.
- Erfinden Sie einen Weg, um Konflikte zu vermeiden. Ein einfacher
Ansatz besteht darin, nur einem Entwickler zu erlauben, bestimmte Dateigruppen zu ändern. Dies schützt Sie jedoch nicht vor Änderungen, die Dateien nicht direkt ändern, sondern sie durch interne API-Änderungen beeinflussen . Möglicherweise stellen Sie auch fest, dass diese Art von "pessimistischem Sperren" systemweite Änderungen und tiefgreifendes Refactoring ziemlich mühsam macht.
Zum Vergleich gibt es in Überprüfungen nach dem Festschreiben keine Probleme dieser Art (da es sich um Code handelt, der bereits per Definition zusammengeführt wurde). Da Sie jedoch Überprüfungen vor dem Festschreiben als Ziel festlegen, ist dies wahrscheinlich nicht interessant.
3. Laden Sie den Entwickler, der auf eine Überprüfung wartet
Legen Sie eine explizite Richtlinie fest, ob der Entwickler, der die Überprüfung eingereicht hat, zu einer neuen Aufgabe wechseln oder etwas anderes tun soll (z. B. dem Überprüfer nachjagen).
Zum Vergleich benötigen Überprüfungen nach dem Festschreiben kaum explizite Richtlinien (da es selbstverständlich ist, nach dem Festschreiben des Codes mit der nächsten Aufgabe fortzufahren und die Frist für die Überprüfung ein oder zwei Wochen zu berücksichtigen) nicht interessant.