Code, der zwischen i++ und ++i unterscheidet, ist zu kompliziert

Beim Programmieren kommt man früher oder später an den Punkt, an dem man fremden Code liest und sich fragt: „Programmiert der Autor absichtlich so kompliziert, oder bin ich einfach zu unfähig, das Ganze zu verstehen?“. Es kommen Zweifel auf, ob man nicht Sprachfeatures verpasst hat, oder nicht versteht, diese effizient einzusetzen.

Ich halte mich nicht für den besten Programmierer der Welt und versuche daher, immer Programmcode zu erstellen, den jeder verstehen kann, der einigermaßen sein Handwerk beherrscht. Und damit meine ich, Entwickler, die programmieren können, nicht unbedingt aber in der Programmiersprache, die ich gerade verwende (die Chance ist ja bei LotusScript durchaus hoch).

Jeder Programmierer denkt anders, löst die gleichen Herausforderungen anders, als man es selbst tun würde. Ich selbst löse jetzt Probleme anders, als ich es vor 5 Jahren getan habe. Hierbei meine ich nicht die Verwendung von Sprachfeatures, oder die inzwischen sicherlich bessere Beherrschung des Umfanges einer Sprache – ich meine die verwendeten Algorithmen.

Beim Programmieren von Business Anwendungen geht es zu 80% darum, den Auftraggeber zu verstehen und eine Applikation zu erstellen, die seine Bedürfnisse an Verwendung und Wartbarkeit zufriedenstellt. Und Wartbarkeit schließt ein, dass mein Quellcode von mir, oder auch von meinen Nachfolgern mit dem geringst möglichen Einsatz gelesen und vor allem verstanden werden kann, sollten Modifikationen anstehen. Denn nur wer Quellcode wirklich versteht, kann kosteneffektiv Änderungen vornehmen, die nicht in Hunderten von Folgefehlern münden.

Mein Appell ist also: lesbaren Code schreiben. Dazu gehört anständiges Kommentieren, brauchbare Variablen- und Funktionsnamen und eine gute Dokumentation. Gute Programme lesen sich wie eine Geschichte.

Nicht dazu gehören, jedes mögliche Sprachfeature ohne Rücksicht auf Verluste auszunutzen, kurze oder kryptische Bezeichner zu verwenden, oder innerhalb eines Programms den Programmierstil zu wechseln.

Einen guten Artikel zum Thema, der meine Idee mit guten Beispielen unterstützt, findet sich beispielsweise hier bei IBM.

Waidner IT Solutions