Programmer’s Zen: das „Prinzip der Westverpackung“
In letzter Zeit gab es mal wieder so einige Situationen, in denen ich andere Leute (und teilweise auch mich selbst) dabei beobachtet habe, wie sie sich unsinnig viel Stress beim Programmieren aufgehalst haben und möchte deshalb nun eine kleine Serie ins Leben rufen, in der ich eine Reihe von Pseudo-Weisheiten von mir gebe, die ich für hilfreich halte. Vielleicht kann der eine oder andere ja auch etwas damit anfangen.
Beginnen möchte ich mit einem Prinzip, dass ich gerne das „Prinzip der Westverpackung“ nenne.
Nachdem wir armen „Ossis“ nach dem Fall der Mauer mit den Produkten des imperialistischen Klassenfeinds überschwemmt wurden, gab es einen Spruch, wenn wir Probleme beim Öffnen der Verpackungen hatten: „Das ist eine Westverpackung: Wenn’s schwer geht, machst du’s falsch.“
Dieser Grundsatz lässt sich wunderbar auf die Arbeit eines Programmierers übertragen. Wir kommen von Zeit zu Zeit mit einer Problemstellung in Berührung, bei der man das Gefühl hat, dass wir mit jedem Schritt, der uns augenscheinlich der Lösung näher bringt, uns in Wahrheit weiter vom Ziel entfernen. In so einer Situation muss man sich kurz zurücklehnen und sich ernsthaft fragen, ob man nicht irgendetwas falschen macht.
In der Regel ist es so, dass man grade versucht, ein Problem zu lösen, dass in Wahrheit aus zwei Teilen besteht, die nur bedingt etwas miteinander zu tun haben. Seien es nun 2 Anwendungsfälle für eine Klasse, die man besser durch zwei Klassen umsetzt oder die Versteifung auf eine bestimmte Anforderung, wenn das Hauptaugenmerk doch auf den restlichen Anforderungen liegen sollte. Wenn es stinkt, ist es nunmal meist auch Scheiße.
Meiner Erfahrung nach ist es garnicht so wichtig, die neuste Programmiersprache flüssig im Schlaf zu sprechen oder dem aktuellem Hype hinterher zu laufen. Viel wichtiger ist die Fähigkeit zu erkennen, was das eigentliche Problem ist, und (ganz wichtig!) was nicht. Hat man erstmal realisiert, dass man sich mit zwei Problemen rumschlägt, statt einem, ist die separate Lösung beider Probleme meist ein Klacks.
Nachdem ich Zeuge Deiner Blisterverpackungsarie werden durfte, ist der Vergleich irgendwie ein bisschen absurd 🙂