Die Geschichte dahinter

Es gibt diese Fehler, bei denen man schon nach fünf Minuten weiss: Das wird unangenehm. Und dann gibt es Fehler, bei denen man nach einer halben Ewigkeit feststellt, dass die eigentliche Ursache so banal ist, dass man kurz nicht weiss, ob man lachen oder weinen soll.

An diesem Tag ging es um ein Touchpanel, das bei einem bestimmten Aufruf einfach abstürzte. Also begann die übliche Entwickler-Odyssee: MVC? Razor? JavaScript? Bootstrap? Model Binding? ViewModel? Kamera? Statische Ressourcen? Irgendwo musste sich der Übeltäter ja verstecken. Die ersten Tests sahen sogar gut aus. Kamera weg? Kein Problem. Statische Ressource? Ebenfalls okay. Doch sobald der entsprechende RMF-Command ins Spiel kam: Absturz.

Irgendwann fiel der Blick auf das Passwort. Eigentlich nichts Besonderes – bis auf ein kleines Detail:

pa^ssword123

Da war dieses unscheinbare ^. Und genau dieses eine Zeichen machte aus einem völlig harmlosen Passwort offenbar einen kleinen technischen Sprengsatz. Das Sonderzeichen wurde in der Command-Verarbeitung nicht einfach als normales Zeichen behandelt und führte dazu, dass der Aufruf schiefging.

Die Lösung war entsprechend spektakulär: Aus pa^ssword123 wurde password123 – und plötzlich funktionierte alles. Kein neues Framework. Kein grosser Umbau. Kein Patch-Marathon. Kein dreistündiges Debugging-Finale mit dramatischer Musik. Einfach ein Zeichen weniger.

Genau solche Momente sind vermutlich der Grund, warum Entwickler irgendwann anfangen, Bildschirme misstrauisch anzuschauen. Der Comic mit dem Hulk passt deshalb ziemlich gut: Erst wütend auf MVC, Razor, JavaScript, Bootstrap und den Rest der Welt – danach Detektivarbeit – und am Schluss die Erkenntnis:

Hulk hat Eingebung. Hulk entfernt ^. Hulk Problem lösen.

Damit war das Ticket erledigt. Und nach so einem Sieg darf man sich natürlich auch entsprechend belohnen: Big Mac, Pommes und McFlurry. Schliesslich wurde an diesem Tag nicht nur ein Bug behoben, sondern ein ganzes Sonderzeichen besiegt. 😄

Fazit:
Manchmal ist ein Fehler 500 Zeilen Code gross.
Und manchmal genau ein Zeichen.