(01.11.04 08:55)

Neulich hat mir einer meiner Kunden einen „Fachartikel„ aus der Zeitschrift Java-Spektrum mit der Frage in die Hand gedrückt, „Was hältst du davon?„. Der Artikel mit dem Titel „Generrhoe – der schleichende Tod„ beschreibt eine – aus Sicht des Autors – hoch ansteckende Krankheit, unter der viele Entwickler leiden sollen und bei der der Erkrankte „dem krankhaften Drang unterliegt, Dinge immer vom allgemeinsten Standpunkt aus zu betrachten bzw. zu modellieren.„ Bereits hier stutzte ich bei der Lektüre zum ersten Mal. Denn ich treffe wesentlich mehr Entwickler, die eher unter der gegenteiligen „Krankheit„ - so man diesen Ausdruck gebrauchen will - leiden, nämlich der Unfähigkeit oder dem Unwillen, überhaupt einmal zu versuchen, ein Problem vom allgemeinsten Standpunkt aus zu betrachten, um dann eine angemessene und elegante Lösung zu finden. In der Folge versinken diese Entwickler und mit ihnen ihre Projekte über kurz oder lang in der schier ungebändigten mengenmässigen Vielfalt, die durch mangelnde Abstraktion entsteht. Aber gut, der Erfahrungshintergrund von Jürgen Lind, dem Autor des besagten Artikels, scheint sich hier klar von meinem eigenen zu unterscheiden.

Als nächstes geht Lind auf die Symptome der von ihm bezeichneten Krankheit ein: Der Artikel nennt eine Reihe von „scheinbar beiläufigen Bemerkungen„, anhand derer der an Generrhoe Erkrankte zu erkennen sein soll. Zum Beispiel „Wir müssen zum Kern des eigentlichen Problems vordringen.„ oder „Wir sollten uns mit dem generellen Wesen des Problems beschäftigen.„ Selbst den geistig eher träge Veranlagten wird spätestens an dieser Stelle klar: der Autor übt sich in Satire, versucht sich also einem ernsten Thema mit Ironie zu nähern und setzt dabei auf Witz und gezielte Überzeichnung. Wie weit ihm das gelingt, muss jeder für sich entscheiden. Für meinen Geschmack zeigt der Artikel in erster Linie, wie schnell die Grenze zwischen gekonnter Satire und plumper Kalauerei überschritten wird.

„Um dem Leser... ein Gefühl dafür zu vermitteln, wie sich ein Generrhoe-Anfall darstellt„, geht der Autor dann dazu über, „ein konkretes, aber stark vereinfachtes Beispiel„ zu betrachten. Er zeigt in der Folge, wie ein anfänglich überschaubares Codefragment Stück für Stück in eine komplizierte und nutzlose Lösung verwandelt wird. Da wird mit Refactorings und Entwurfsmustern Schindluder getrieben, dass einem Hören und Sehen vergeht. Wer so Programme schreibt, der leidet nicht unter Generrhoe, wie der Autor fälschlicherweise vermutet, sondern der hat einfach keine Ahnung. Wer einem Stück Code solchermassen Gewalt antut, der ist nicht krank, sondern mit Ignoranz und Unfähigkeit geschlagen.

Das Tragische bei der ganzen Sache: Die aufgeführten Refactorings (z.B. Extract Method, Replace Magic Number with Symbolic Constant oder Extract Class) und Entwurfsmuster sind richtig eingesetzt enorm wertvoll. Doch auf diesen Umstand geht Lind mit keinem Wort ein. Seine Ausführungen suggerieren gar, dass diese Refactorings und Muster, alleine weil sie eingesetzt werden, schädlich sind; denn wie kann etwas gut sein, dass als Folge einer Krankheit getan wird?

Die vom Autor wohl gewollte Zuspitzung verlangt nach Vereinfachung, und der krampfhaft anmutende Versuch, witzig zu sein, verhindert, dass die Leser „zum Kern des eigentlichen Problems vordringen„ und sich „mit dem generellen Wesen des Problems beschäftigen„; eben dies zu verhindern, mag aber beabsichtigt sein, da ja das Vordringen zum und die Beschäftigung mit dem Generellen in den Augen von Herrn Lind bereits einer pathologischen Neigung entspricht oder gar die Gefahr der Ansteckung birgt, der er seine Leser vermutlich nicht aussetzen will.

Wenn der Autor dann in der Folge undifferenziert über die automatische Codegenerierung als Form der Metaprogrammierung herzieht, dann ist für mich das Mass an Vereinfachung endgültig erreicht, das wir der Satire als Stilmittel zugestehen sollten. Ich fühlte mich beim Lesen spontan an eine Notiz meines Deutschlehrers erinnert, der einst einen meiner als Satire angelegten Aufsätze mit den Zeilen kommentierte: „Die Kunst der guten Satire besteht unter anderem darin, nicht zu dick aufzutragen.„

Abschliessend widmet sich der Artikel der Entstehungsgeschichte der Generrhoe und der Frage, wie den an Generrhoe erkrankten Menschen geholfen werden kann. Eine detaillierte Bewertung dieses letzten Teils erübrigt sich, da sich der Autor hier in pseudo-medizinischem Geschwafel verliert, das weder besonders erhellend noch wirklich amüsant ist.

Bleibt die Frage, was uns der Autor eigentlich sagen wollte. Denn die Unterstellung, dass er den Artikel alleine um des Schreibens Willen verfasst habe, wäre unfair und wohl auch übertrieben. Vielleicht wollte Herr Lind ja einfach auf den Umstand hinweisen, dass man es mit allem übertreiben kann und zu diesem Zwecke selber auf die Übertreibung als Stilmittel zurück gegriffen. Unbestritten ist nämlich die Tatsache, dass der übertriebene Einsatz von Mustern und unbedachtem Refactoring mehr schadet als nützt. Und vielleicht wollte Herr Lind in diesem Zusammenhang klar machen, dass im Umgang mit komplexen Systemen stets Augenmass und Besonnenheit nötig sind, um zu angemessenen Lösungen zu gelangen. Schade nur, dass er das so nirgends in seinem Artikel sagt; selbst wer zwischen den Zeilen liest, sieht ausser Leerraum nichts. Dabei gäbe es zu diesem Thema durchaus einiges zu sagen, zum Beispiel zu Themen wie Metaprogrammierung und der übertriebene Einsatz von XML, frei konfigurierbare Schnittstellen oder die Frage, wann und in welcher Form Codegenerierung sinnvoll ist.

Um also die eingangs gestellte Frage „Was hältst du davon?„ zu beantworten: Nicht viel!

-nemo :-)

Über diesen Artikel diskutieren.

Zugriffe heute: 1 - gesamt: 4232.




Doktorspiele Systemreparatur

Druckbare Version