Code-Review

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. November 2004 um 18:55 Uhr durch 212.122.53.29 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Code-Review beizeichnet ein Peer-Review von Programmcode mit dem Ziel Fehler zu finden und zu beheben, die in der Entwicklungsphase übersehen wurden. Dadurch soll die Gesamtqualität des Programmcodes verbessert werden. Bei Code-Reviews können oft gängige Sicherheitslücken, wie Format String Attacks, Race Conditions oder Buffer-Overflows gefunden und entfernt werden. Online Software Repositories wie CVS erlauben es Gruppen von Individuen gemeinschaftlich Code-Reviews durchzuführen, und damit Sicherheit und Qualtität des Programmcodes zu verbesern.

Code-Reviews sind ein wichtiger Teil des Softwareentwicklungsprozesses. Es gibt Argumente, daß Code-Reviews weniger wichtig sind, wenn bestimmte Regeln oder sichere Programmiermethoden von Beginn der Entwicklung an befolgt werden.

Die auch im Extreme Programming (XP) eingesetzte Paarprogrammierung, wird oft als Code-Review während der Entwicklung bezeichnet. XP-Verfechter argumentieren, daß aber andere XP-Praktiken, wie Refactoring und das Schreiben Tests zu Beginn der Codeentwicklung, Code produziert, der nicht so häufig reviewed oder neu geschrieben muß wie traditionell entstandener Code. Dadurch werde die Softwareentwicklung beschleunigt.

Es gibt viele Beispiele, wie Code-Reviews ein Projekt verbessert haben:

  • Blender3d - Das 3D-Graphikdesign Paket ist von einer Open Source Entwicklungsgemeinschaft stark verbessert worden.
  • Der Linux Kernel - Einst als Hobby von einem finnischen Programmierer geschrieben, ist er mittlerweile von hunderten von Programmieren weltweit reviewed worden.

Automatisierte Code-Review-Software vereinfacht die Aufgabe des Reviews großer Codeteile durch systematische Überprüfungen auf angreifbare Stellen wie:

Flawfinder und Rough Auditing Tool for Security (RATS) sind zwei bekannte Softwaretools zum Code-Review.