Bei einem Code Review überprüft ein oder mehrere Entwickler den Code eines anderen Entwicklers. Also wenn du einen Code schreibst, wird dieser von mindestens einem anderen Entwickler reviewt also genau überprüft. Im besten Fall wird dein Code auch genehmigt bzw. approved wie es in der Fachsprache heißt. Sollte der Reviewer jedoch Mängel in deinem Code feststellen, dann wird das gemeinsam besprochen und der Mangel muss dann auch behoben werden. Anschließend wird der gefixte Code nochmals reviewt. Das geht solange, bis der Code stabil ist und keine Mängel mehr aufweist.
Warum sind Code Reviews so wichtig?
Lässt man seinen eigenen Code reviewen, sollte zumindest ein erfahrener Entwickler drüberschauen, damit auch wirklich kein Bug übersehen wird. Doch auch Junior Entwickler können den Code reviewen. So sammeln sie Erfahrung und lernen durch das Reviewen des Codes auch die Anwendung besser kennen. Ein Code Review ist für alle Beteiligten eine win-win Situation. Die anderen, die den Code begutachten lernen die neue Funktionalität kennen und der Entwickler, dessen Code überprüft wird, hat später ruhigere Nächte. Dadurch dass der Code abgenommen wurde ist die Wahrscheinlichkeit um einiges höher, dass die Anwendung später auch fehlerlos funktioniert. 4 oder mehr Augen sehen nun einmal mehr, als wenn man selbst an seinem Code tüftelt, der nie reviewt wurde. Schnell hat man etwas übersehen, das später zu Anwendungsfehlern führen kann.
Code Reviews sollten fester Bestandteil in der Software Entwicklung sein, sprich es darf kein Code live gehen, der nicht zuvor überprüft wurde. Jeder Code der am Server ausgerollt oder geshipt wird, also zum Kunden ausgeliefert wird, muss zuvor von mindestem einem erfahrenen Entwickler abgesegnet werden.
Für Code Reviews gibt es viele Tools am Markt. Ein sehr weitverbreitetes Tool ist Azure DevOps von Microsoft. Hier können in Verbindung mit GIT alle Code Änderungen überwacht werden. Durch Regeln bzw. Policies, die man selbst anlegen kann, kann genau gesteuert werden, welchen Code eines Projekts wer reviewen soll.
Dadurch, dass es in der professionellen Software Entwicklung oft mehrere Software Projekte gibt, macht es Sinn für jeden dieser Projekte den erfahrensten Entwickler dieses Projekts zu nominieren, der immer Bestandteil eines Code Reviews sein sollte, sofern Code in diesem Projekt geändert wird. Für andere Software Projekte, kann ein anderer Entwickler als required reviewer nominiert werden.
Wichtig ist bloss, dass jeder Code der geändert wird, immer von dem erfahrensten Entwicklern reviewt wird, der dieses Projekt sehr gut kennt. Das wäre zB jener Entwickler, der eventuell dieses Projekt aufgesetzt hat oder selber ständig an diesem Projekt arbeitet bzw. viel Zeit mit diesem Projekt verbracht hat.