Hinweis zu Affiliate-Links: Alle Produkte werden von der Redaktion unabhängig ausgewählt. Im Falle eines Kaufs des Produkts nach Klick auf den Link erhalten wir ggf. eine Provision.

Skills-Kolumne / Kathrin Passig und Anne Schüßler über die Unvermeidlichkeit von Fehlern

von Anne Schüßler
Sehr alte Leser dieser Kolumne mögen sich noch an die Schreibgeräte der Vergangenheit erinnern. Sie hießen „Schreibmaschinen“ und sahen ein bisschen so aus wie Computer, nur dass man auf ein weißes Blatt Papier starren konnte statt in eine leere Datei. Diese Geräte hatten allerdings einen entscheidenden Nachteil: Sie waren so vorsintflutlich konstruiert, dass lediglich eine einzige App installiert war — Textverarbeitung eben.

Ein weiterer Nachteil war die unterentwickelte Möglichkeit, Geschriebenes wieder zu löschen. Und da aller guten Nachteile drei sind, hätten wir auch noch diese Unglaublichkeit: Copy & Paste gab’s ebenfalls nicht. Es waren harte, entbehrungsreiche Zeiten. Mit Copy & Paste hat der moderne Mensch eine Zusatzfunktion erworben, die viel Zeit und Mühen erspart. Möchte man ein Textfragment so oder sehr ähnlich noch mal unterbringen, kann man es einfach markieren, kopieren und an der gewünschten Stelle wieder einsetzen. Toll!

Ärgerlich wird es, wenn ein Fehler ausgerechnet in jenem Teil des Codes steckt, den man im Laufe der Jahre zehnmal kopiert hat.

Auch Programmierer mögen Copy & Paste, denn oft genug kommt es vor, dass sich ein Problem stellt, von dem man weiß, dass man es irgendwo anders schon einmal gelöst hat. Dann nimmt man sich einfach das entsprechende Stück Code, kopiert es an den gewünschten Ort und ist im besten Fall schon fertig. Im zweitbesten Fall muss man ein paar Variablen ändern oder eine Zeile umschreiben, aber jedenfalls nicht alles komplett neu formulieren. Stößt man später noch mal auf das gleiche Problem, dann macht man es einfach wieder so und hat wieder viel Zeit gespart, die sonst fürs Nachdenken und Tippen draufgegangen wäre.

Die Geschichte hat allerdings einen Haken. Üblicherweise stellt sich nämlich heraus, dass man während des Programmierens kleine Fehler gemacht hat. Das passiert, Programmierer wissen das, und das ist auch gar nicht schlimm. Ärgerlich wird es, wenn sich herausstellt, dass der Fehler ausgerechnet in jenem Teil des Codes steckt, den man im Laufe der Jahre zehnmal kopiert hat. Wo man vorher zehnmal Zeit gespart hat, muss man sie jetzt zehnmal hintereinander aufbringen, um aufzuräumen.

Noch ärgerlicher wird es, wenn man vergessen hat, wo der Code überall steckt.

Noch ärgerlicher wird es, wenn man vergessen hat, wo der Code überall steckt. Jetzt kann man nur hoffen, dass die Entwicklungsumgebung eine vernünftige Suchfunktion hat. Und dass man überhaupt eine Entwicklungsumgebung hat, nicht nur einen schäbigen Texteditor. Ansonsten liegt die Wahrscheinlichkeit, dass man an einer dieser zehn Stellen vergisst, den Fehler zu beheben, bei ziemlich genau hundert Prozent.

Damit es zu solchen Situationen gar nicht erst kommt, empfehlen kluge Menschen wie der Softwareentwickler und Autor Martin Fowler die „Rule of Three“. Diese Regel besagt, dass man Code einmal aus Faulheit kopieren darf, ihn also zweimal verwenden kann, doch dann ist Schluss. Bei der dritten Begegnung mit demselben Problem lagert man die Lösung besser in eine neue Funktion aus. An Stellen, wo vorher der Code selbst war, steht dann nur noch ein Aufruf für diese Funktion – und wenn sich nun herausstellt, dass sich in genau diesen Codezeilen ein Fehler versteckte, muss man ihn nur noch exakt einmal korrigieren und kann sicher sein, dass es danach überall funktioniert.

Wie nützlich die „Rule of Three“ ist, merkt man daran, dass sie leicht modifiziert auch im Alltag funktioniert: Man läuft besser nicht beim ersten Anflug des Wunsches nach einer Schlagbohrmaschine zum Baumarkt, sondern erst dann, wenn man sich zum dritten Mal eine ausleihen müsste.

Auf Briefe von Ämtern muss man nicht gleich beim ersten oder zweiten Mal reagieren – vielleicht kommt das dritte Schreiben ja nie. Auch der Gesundheit kann die Regel dienen, nämlich dann, wenn man sich vornimmt, erst beim dritten Wunsch nach einer Tüte Erdnussflips vom Sofa aufzuspringen. Ist man allerdings ein Mensch, der für drei Erdnussflipswünsche nur vier Sekunden braucht, halten sich die gesundheitlichen Vorteile in Grenzen. In der Softwareentwicklung bleibt die „Rule of Three“ trotzdem eine gute Idee.

Kathrin Passig und Anne Schüssler schreiben leidenschaftlich Blogs, Tweets und Code. In WIRED geben sie regelmäßig Überlebenstipps für Nachwuchsprogrammierer. In der vergangenen WIRED-Ausgabe erklärten sie, wann man Programmierer besser nicht anspricht.  

GQ Empfiehlt