Bei einem Code Review überprüfst du Änderungen am Programmcode systematisch, bevor oder während sie in den gemeinsamen Entwicklungsstand einfließen. Dabei geht es nicht nur darum, Fehler zu finden. Ein Review hilft dem Team auch dabei, die Funktionsweise einer Änderung nachzuvollziehen, mögliche Nebenwirkungen zu erkennen und den Code langfristig verständlich zu halten.
Was ist ein Code Review?
Während der Spieleentwicklung verändert sich der Programmcode fortlaufend. Neue Funktionen kommen hinzu, bestehende Systeme werden angepasst und Fehler korrigiert. Bevor eine solche Änderung als abgeschlossen gilt, kann ein anderes Teammitglied den veränderten Code überprüfen.
Diesen Vorgang bezeichnet man als Code Review. Der Reviewer betrachtet die vorgenommenen Änderungen, versucht ihre Funktionsweise zu verstehen und achtet auf mögliche Probleme. Dabei können Fragen, Kommentare oder konkrete Verbesserungsvorschläge entstehen.
Ein Review ist damit keine bloße Kontrolle darüber, ob jemand „richtig“ programmiert hat. Es schafft eine zweite Perspektive auf eine Änderung, bevor daraus später schwerer auffindbare Probleme entstehen.
Was wird bei einem Code Review geprüft?
Welche Punkte wichtig sind, hängt vom Projekt und von der jeweiligen Änderung ab. Grundsätzlich kann ein Reviewer unter anderem prüfen, ob der Code verständlich aufgebaut ist, ob die vorgesehene Funktion korrekt umgesetzt wurde und welche Auswirkungen die Änderung auf andere Systeme haben könnte.
- Erfüllt die Änderung ihren vorgesehenen Zweck?
- Gibt es offensichtliche Logikfehler?
- Werden mögliche Sonderfälle berücksichtigt?
- Kann die Änderung andere Spielsysteme beeinflussen?
- Ist der Code für andere Teammitglieder nachvollziehbar?
- Entstehen unnötige Wiederholungen oder komplizierte Strukturen?
- Sind zusätzliche Tests sinnvoll?
Nicht jeder Review benötigt dieselbe Checkliste. Eine kleine Korrektur an einer Fehlermeldung stellt andere Anforderungen als eine grundlegende Veränderung des Inventarsystems.
Ein Beispiel aus einem Spieleprojekt
Angenommen, du veränderst die Interaktion mit verschlossenen Türen. Eine Tür soll sich nur öffnen, wenn der Spieler den richtigen Schlüssel besitzt. Nach deiner Änderung funktioniert die grundlegende Abfrage.
Beim Code Review bemerkt ein Teammitglied jedoch, dass nicht geprüft wird, ob die Tür bereits geöffnet wurde. Unter bestimmten Bedingungen könnte die Öffnungsfunktion dadurch mehrfach ausgeführt werden.
Der Reviewer hinterlässt einen Kommentar an der entsprechenden Stelle. Du kannst die Situation prüfen, den Code anpassen und die Änderung erneut zur Überprüfung bereitstellen.
Kommentare sind ein zentraler Bestandteil
Review-Werkzeuge ermöglichen es häufig, Kommentare direkt mit bestimmten Änderungen oder Codezeilen zu verbinden. Dadurch bleibt klar, worauf sich eine Frage oder ein Verbesserungsvorschlag bezieht.
Ein Kommentar kann beispielsweise auf einen möglichen Fehler hinweisen, nach dem Grund für eine bestimmte Lösung fragen oder eine verständlichere Umsetzung vorschlagen. Der ursprüngliche Entwickler kann darauf antworten oder den Code entsprechend überarbeiten.
Auf diese Weise entsteht eine technische Diskussion unmittelbar an der betreffenden Änderung.
Code Review bedeutet nicht automatisch Fehlersuche
Code Reviews und Debugging können sich überschneiden, verfolgen aber nicht denselben Zweck. Beim Debugging untersuchst du einen konkreten Fehler und suchst nach seiner Ursache.
Ein Code Review kann dagegen stattfinden, obwohl noch gar kein bekannter Fehler existiert. Die Änderung wird vorsorglich geprüft, bevor sie Teil des weiteren Entwicklungsstands wird.
Entdeckt der Reviewer dabei einen möglichen Fehler, kann daraus anschließend eine gezielte Untersuchung oder Korrektur entstehen.
Code Review als Teil des Debuggings
Ein bereits abgeschlossener Review kann später erneut interessant werden. Tritt nach einer bestimmten Änderung ein Fehler auf, lässt sich der betreffende Code noch einmal unter einem neuen Blickwinkel betrachten.
Ein Stack Trace führt beispielsweise zu einer Funktion für die Türinteraktion. Über die Versionsverwaltung stellst du fest, dass dieser Bereich kurz vor dem erstmaligen Auftreten des Fehlers verändert wurde.
Die betreffende Änderung kann damit zu einem möglichen Ausgangspunkt der Untersuchung werden. Beim erneuten Review prüfst du sie gezielt unter Berücksichtigung der neuen Fehlerinformationen.
Code Review und Versionsverwaltung ergänzen sich
Eine Versionsverwaltung dokumentiert, wie sich der Programmcode verändert. Dadurch lässt sich nachvollziehen, welche Dateien angepasst wurden und zu welchem Entwicklungsstand eine Änderung gehört.
Der Code Review ergänzt diese technische Historie um die gemeinsame Prüfung. Statt lediglich festzuhalten, dass sich Code verändert hat, setzt sich das Team damit auseinander, wie und warum er verändert wurde.
Bei Perforce P4 können zusammengehörende Änderungen über Changelists organisiert werden. Dadurch lässt sich eine konkrete Änderung mit ihrem Platz innerhalb der Versionsgeschichte verbinden.
Warum sollte jemand anderes den Code ansehen?
Wer eine Funktion selbst entwickelt, kennt ihre beabsichtigte Funktionsweise bereits. Genau dieses Wissen kann dazu führen, dass bestimmte Annahmen selbstverständlich erscheinen. Ein anderes Teammitglied betrachtet denselben Code ohne diesen unmittelbaren Entstehungskontext.
Dadurch entstehen andere Fragen. Was passiert, wenn der Spieler keinen Schlüssel besitzt? Was geschieht bei einem ungültigen Objekt? Kann die Funktion zweimal aufgerufen werden? Ist die Bezeichnung einer Variable verständlich?
Eine zweite Perspektive garantiert keinen fehlerfreien Code. Sie erhöht jedoch die Chance, Unklarheiten und mögliche Probleme zu erkennen, bevor sie sich weiter durch das Projekt ziehen.
Reviews verteilen Wissen im Team
Ein Code Review besitzt außerdem einen organisatorischen Nutzen. Wenn mehrere Personen Änderungen betrachten, bleibt Wissen über ein Spielsystem nicht ausschließlich bei seinem ursprünglichen Entwickler.
Der Reviewer lernt beispielsweise die Funktionsweise der neuen Türlogik kennen. Muss diese Person später an demselben System arbeiten, kennt sie bereits Teile seiner Struktur und frühere Entscheidungen.
Umgekehrt kann ein erfahrener Entwickler über Kommentare erklären, warum eine bestimmte Lösung problematisch sein könnte. Reviews dienen damit auch dem Wissensaustausch innerhalb des Teams.
Was passiert nach dem Review?
Ein Review muss nicht sofort mit einer Freigabe enden. Findet der Reviewer offene Punkte, kann der Entwickler die Änderung überarbeiten. Anschließend lässt sich die neue Fassung erneut prüfen.
Sind die relevanten Fragen geklärt, kann die Änderung je nach Arbeitsablauf freigegeben und in den vorgesehenen Entwicklungsstand übernommen werden. Danach folgen gegebenenfalls weitere Tests und ein neuer Build.
Auch ein erfolgreiches Review beweist nicht, dass eine Änderung vollständig fehlerfrei ist. Manche Probleme treten erst unter bestimmten Bedingungen oder im Zusammenspiel mit anderen Systemen auf. Tests und Debugging bleiben deshalb weiterhin notwendig.
P4 Code Review verbindet Änderungen und Diskussion
Für Projekte mit Perforce steht mit P4 Code Review ein Werkzeug zur Verfügung, das den Review-Prozess mit der Versionsverwaltung verbindet.
Dadurch können Änderungen betrachtet, kommentiert und gemeinsam überprüft werden, ohne ihren Zusammenhang zur Versionsgeschichte zu verlieren. Gerade bei größeren Teams erleichtert das die Zuordnung zwischen einer konkreten Änderung und der dazugehörigen Diskussion.
Vom Review zum stabileren Entwicklungsstand
Code Reviews bilden damit einen Teil des Entwicklungsprozesses. Eine Änderung entsteht, wird versioniert und anschließend von anderen Teammitgliedern geprüft. Rückmeldungen führen bei Bedarf zu weiteren Anpassungen.
Nach der Freigabe folgen Tests und neue Builds. Taucht später trotzdem ein Fehler auf, können Versionsgeschichte, frühere Reviews, Logs und Stack Traces erneut Informationen für die Untersuchung liefern.
Der Nutzen eines Reviews liegt deshalb nicht nur im Finden einzelner Fehler. Er schafft nachvollziehbare Änderungen, fördert den Austausch im Team und hilft dabei, Programmcode langfristig verständlich und wartbar zu halten.
Weitere Artikel auf Games und Lyrik
Wenn du dich neben der technischen Spieleentwicklung auch für klassische Adventures interessierst, findest du auf Games und Lyrik weitere Beiträge. In Runaway 3: A Twist of Fate begleitest du Brian und Gina durch ein Point-and-Click-Adventure mit Rätseln, ungewöhnlichen Situationen und einer Geschichte voller Wendungen.
Weitere Informationen zum Review-Prozess im Umfeld von Perforce findest du in der offiziellen Dokumentation von Perforce.
