Codereviewprozesse und die Commit Stage

Zeig mir deinen Code!

Richard Attermeyer
© iStockphoto.com/OneO2

In vielen Open-Source-Projekten hat sich ein sehr formalisierter Reviewprozess für Codeänderungen etabliert. Beigetragen haben dazu GitHub mit der Verbreitung von Pull Requests und Codereviewsysteme wie Gerrit.

Pull Requests unterstützen zunächst einmal manuelle Codereviews. Man kann über den Pull Request diskutieren und alle Erkenntnisse zusammentragen, um den Request zu bewerten. Es gibt kein formales Kriterium, wann ein Pull Request für gut befunden oder abgelehnt wird. Der Prozess ist recht flexibel.

Gerrit ist ein Codereviewwerkzeug, das den Prozess weiter formalisiert. Es kombiniert Feedback vom Continuous-Integration-(CI-)System, das besagt, ob der Code erfolgreich baut, und Einschätzungen von Reviewern zum Code. Beides hat zum Ziel, die Baseline stabil zu halten. Allerdings braucht dieser Prozess Zeit, und die Dauer bis zu einem Feedback über eine Codeänderung verlängert sich durch das manuelle Review. Dieser manuelle Reviewprozess eignet sich gut für bestehende Software mit relativ wenigen Codeänderungen pro Arbeitstag. Während einer Produktentwicklung entstehen aber viele Codeänderungen (neuer und umgebauter Code), sodass viele Teams es als unpraktisch ansehen, jede Änderung zeitnah vor einem Commit in den Master Branch zu begutachten. Stattdessen definieren agile Teams zum Beispiel, dass ein Codereview zum Abschluss einer User Story notwendig ist (Post-Commit Review).

(Den vollständigen Artikel finden Sie in der Java Magazin Ausgabe 9.14)

Geschrieben von
Richard Attermeyer
Richard Attermeyer
Richard Attermeyer arbeitet als Senior Solution Architect bei der OPITZ CONSULTING Deutschland GmbH. Er ist seit vielen Jahren als Entwickler, Architekt und Coach für die Themen Java EE und agile Projekte tätig und hilft Unternehmen, mit motivierten Teams erfolgreiche Projekte zu realisieren.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: