Gegeben sei folgende Aufgabe: Kopiere eine Textdatei von einem Verzeichnis in ein anderes.
Lösung der Kollegen: Öffne die Quelldatei A, öffne die Zieldatei B und kopiere den Inhalt zeilenweise von A nach B. Vom Aufwand her fragwürdig, aber macht zumindest theoretisch das was es soll. Zur Sicherheit haben dann gleich noch vier Kollegen Review gemacht, denn acht Augen sehen mehr als zwei.
Einziges Problem: Es crasht. Und zwar im ersten Test, der diesen Code aufruft – und dieser Test wird automatisch bei jedem Build ausgeführt. Vermutung der Kollegen: Der böse Uwe hat da was am Buildserver gedreht, denn da war ja letzte Woche eine Änderung, und das muß es ja daher sein.
Zehn Minuten Review inkl. einmal Bauen und in den Test debuggen später stellt der böse Uwe fest: Die Kollegen haben die Variable für die Zieldatei nicht initialisiert… Leerer Dateiname führt zu Nullpointer, nullpointer führt zu access violation, access violation führt zu Ärger, Ärger führt zu Wut, Wut führt zu Haß, Haß führt auf die dunkle Seite der Nacht (oder so ähnlich).
Kommentare