Definition „Codeüberprüfung“ Was ist ein Code Review?

Von 4lagigdeluxe

Eine alte Programmierweisheit lautet: „Es gibt keinen fehlerfreien Programmcode!“ Allein aus diesem Grund ist es wichtig, erstellten Sourcecode einem Code Review zu unterziehen – dies umso mehr, wenn sich agile Entwicklerteams selbst organisieren.

Die Devise „Vier Augen sehen mehr als zwei“ greift auch in der Qualitätssicherung bei der Software-Entwicklung.
Die Devise „Vier Augen sehen mehr als zwei“ greift auch in der Qualitätssicherung bei der Software-Entwicklung.
(Bild: X / Unsplash)

Selbst wenn ein erstellter Programmcode oder auch ein Codefragment zunächst das tut, was es soll, gibt es immer Optimierungspotenzial – sei es, um offensichtliche Logikfehler zu beheben oder auch nur, um Code zu vereinfachen.

Hier setzt das Code Reviewing an, bei dem weitere Teammitglieder oder auch unabhängige externe Mitarbeiter den Quelltext untersuchen. Dies geschieht nach oder auch noch während des Entwicklungsprozesses. Auch die dazugehörige Dokumentation wird in diesen Vorgang einbezogen.

Bei einem Code Review wird der Sourcecode einem klassischen Korrekturlesen unterzogen, um eventuelle Fehler, Vereinfachungsmöglichkeiten oder Testfälle ausfindig zu machen. Hierbei kann der jeweilige Gutachter selbst ein Softwareentwickler sein. Dieser Vorgang bietet unerfahrenen Entwicklern eine gute Chance, sich durch den Reviewer praxisorientiert weiterzubilden. Ein Code Review ist ein wesentlicher Bestandteil der Qualitätssicherung.

Spezifikation, Funktionssicherheit und Fehlerfreiheit

Welche einzelnen Bestandteile in einem Code Review zu welchem Zeitpunkt verbessert werden, ist nicht pauschal festgelegt. Manche Entwicklerteams vollziehen einen Code Review bei jeder einzelnen Änderung, andere wiederum definieren eine Schwelle, unterhalb der eine Überprüfung des Codes nicht notwendig erscheint.

Letztendlich ist dies eine Frage des Zeitmanagements; es gilt, die zur Verfügung stehende Entwicklungszeit bestmöglich zu nutzen und dabei ein festgelegtes Mindestmaß der Codequalität zu finden. In manchen regulatorischen Umgebungen ist ein Code Review auch für geringfügige Änderungen des Quellcodes zwingend vorgeschrieben.

Jedoch reicht es auch nicht aus, den Programmiercode lediglich auf Fehlerfreiheit hin zu untersuchen, denn nicht der vorliegende Code ist das Maß aller Dinge, sondern die jeweilige Aufgabe, die der Programmcode erfüllen soll. Hier ist ein Abgleich mit den Vorgaben (z. B. die Erfüllung eines Pflichtenheftes) erforderlich.

Unabhängig von den Erfahrungen eines Entwicklers ist es immer angebracht, ein Code Review durchzuführen, denn auch Programmtext von erfahrenen Programmierern lässt sich von unschönen Eigenheiten und Code-Smells befreien. Nicht zuletzt steigert dies auch die Wartbarkeit des Sourcecodes.

Ansätze für ein Code Review

  • Bei einer vorliegenden Codeänderung oder -erweiterung verschickt die Versionsverwaltung ein automatisiertes E-Mail an einen zuvor festgelegten Reviewer, der daraufhin den jeweiligen Code unter die Lupe nimmt.
  • Bei einem sogenannten Pair Programming arbeiten zwei Programmierer gemeinsam am selben Code und überprüfen gegenseitig in einem fortlaufenden Prozess die geleistete Arbeit des Partners. Auf diesem Wege ist das Code Reviewing im Entwicklungsprozess integriert. Ein möglicher Nachteil dieser Vorgehensweise ist die eventuell fehlende Objektivität der beiden Entwicklungspartner.
  • Ein „Walkthrough“ beschreibt das Vorgehen des "Über die Schulter schauen", bei dem sich der Entwickler nach Beenden seiner Arbeit einen qualifizierten Kollegen im Team sucht, der den Code überprüft, während der Reviewer vom Entwickler Erklärungen zum Code und der Programmfunktionen erhält. Diese Vorgehensweise gilt als informell, ist aber auch sehr effektiv und leichtgewichtig, da sich die gemeinsam gewonnenen Erkenntnisse direkt im Programmcode umsetzen und anschließend versionieren lassen.
  • Moderne Software-basierte Code Reviews erfolgen entweder in einem Browser oder direkt in der Entwicklungsumgebung. In diesem formalen Ansatz hinterlässt der Code Reviewer im Quelltext Lösungsvorschläge und Kommentare, die auch noch zu einem späteren Zeitpunkt nachvollzogen und abgearbeitet werden können. Dieser Ansatz ermöglicht auch asynchrone Benachrichtigungen und es können jederzeit Verantwortlichkeiten definiert werden

(ID:48717200)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung