Code Review: Methoden und Tools vorgestellt

Bei Code Review, zu Deutsch „Codeüberprüfung“, handelt es sich um eine Maßnahme zur Qualitätssicherung bei der Softwareentwicklung. Quellcode ist das grundlegende Medium der Entwicklungsarbeit und primäres Produkt der Programmierung. Neuerstellter oder veränderter Code wird einem Code Review unterzogen. Dabei überprüfen ein oder mehrere Teammitglieder die Arbeit eines Programmierers oder einer Programmiererin.

Ein Softwareprojekt umfasst eine „Codebase“ – eine Sammlung von Code-Dateien, die zusammengenommen dazu dienen, ein Produkt auszuliefern. Dazu gehören der eigentliche Produkt-Code, Konfiguration, Entwicklungs-Tools, Tests und mehr, allesamt in Code abgebildet. Die gesamte Codebase wird mit einem Versionskontrollsystem wie Git verwaltet. Über mehrere „Branches“, zu Deutsch „Äste“, lassen sich mehrere Versionen der Codebase parallel verwalten. So kann die Entwicklung neuer Features fortschreiten, ohne dass die Produktionsversion der Codebase verändert wird.

Die Entwicklungsarbeit findet für gewöhnlich auf sogenannten Feature-Branches statt, die periodisch in den Main-Branch integriert werden. Die Codeüberprüfung wird vor dem „Merge“ durchgeführt, d. h. bevor neuer oder veränderter Code mit der bestehenden Codebase zusammengeführt wird. Ziel ist, Fehler frühzeitig zu erkennen und zu beseitigen, bevor der Code in die Produktion geht.

Doch das Ausmerzen von Bugs ist nicht der einzige Nutzen der Codeüberprüfung. Dass Code funktioniert, also fehlerfrei läuft und das gewünschte Ergebnis erzielt, ist lediglich eine Grundvoraussetzung. Darüber hinaus gibt es eine Vielzahl weiterer Gütekriterien für Clean Code. Das Vorhandensein von Kommentaren, die Klarheit und Konsistenz des Codes, das Erfüllen von Stilvorgaben und die Integrierbarkeit in existierende Systeme sind allesamt kritisch und werden beim Code Review beachtet.

Da die Entwicklungsarbeit größtenteils in Gruppen stattfindet, gehen Auswirkungen von Code Review über die reine Codequalität hinaus. Denn die Codeüberprüfung erfolgt durch andere Mitglieder des Entwicklungsteams und erzeugt soziale Effekte: Neue Mitglieder erhalten Feedback zu Konventionen und Best Practices, Wissen wird innerhalb der Organisation ausgetauscht und verteilt. So trägt die Codeüberprüfung dazu bei, eine Qualitätskultur zu pflegen.

Auch wenn die Codeüberprüfung von Menschen vorgenommen wird, werden die Code-Review-Prozesse heutzutage für gewöhnlich durch spezielle Code-Review-Tools unterstützt. Code-Review-Tools schaffen Effizienz und entlasten die beteiligten Personen von der kleinteiligen und aufwendigen Koordination der Prozesse. So können sich die Menschen auf das eigentliche Code Review konzentrieren.

Konzeptuell liegt das Code Review durch Menschen zwischen zwei automatisierten Analysemethoden, der statischen und der dynamischen Analyse. Die Unterschiede im Überblick:

Statische Analyse

Code Review

Dynamische Analyse

programmatisch

durch Menschen

programmatisch

Code wird gelesen

Code wird gelesen, Ausführung mental durchgespielt

Code wird ausgeführt

einheitlichen Stil erzwingen

ins Big Picture einbinden

Fehler finden

Typ-Fehler; bekannte Sicherheitslücken und Anti-Patterns

komplexe Sicherheitslücken; Code-Smells

Fehler bei der Integration; seltene Edge-Cases; Load-Tests

Add a Comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .