© Excellent backgrounds/Shutterstock.com
Kolumne: Knigge für Softwarearchitekten

Der Schmutzfink


Diese Folge unserer Kolumne handelt von Schmutzfinken, einer Spezies, die so alt ist wie das Programmieren selbst. Sie besitzen einen überaus starken Überlebenswillen und lassen sich auch durch Technologiewechsel nicht aus ihrem Konzept bringen. Im Gegenteil: Mit jeder neuen Technologie, Programmiersprache oder Framework entdecken Schmutzfinken neue und kreative Möglichkeiten, ihrer Passion zu frönen.

Robert Martin hat mit seinem Clean Code [1] den (vergeblichen) Versuch der Ausrottung gestartet, aber die Protagonisten dieser Folge überleben jegliche Art der Missionierung, sind sozusagen gegen besseres Wissen immun.

Namen – nur Schall und Rauch

Wie im ersten Programmierkurs nennen Schmutzfinken die Dinge gerne kurz. i, j, x und y eignen sich als Namen hervorragend, ob Businessdaten oder Statusinformation; kürzer als einbuchstabig geht leider nicht. Und in der Kürze liegt die Würze. Statt lange Zeit in das Erfinden fachlich passender Bezeichner zu investieren, halten wir uns an etablierte Kurzformen und schaffen dadurch knackig kompakten Code. Das gilt natürlich sowohl für Variablen, Attribute sowie Funktionen oder Methoden.

Das Böse ist modular

Nur solche Menschen modularisieren, die zuhause warm duschen oder im Winter eine Heizung benutzen. Richtige Entwickler zentralisieren Logik und Daten in möglichst wenigen Dateien. Funktionen oder Methoden sind schon Modularisierung genug, was braucht der schmutzige Fink dazu noch weitere Klassen. Und neumodischer Kram wie OSGI oder Schnittstellenversionierung macht das Leben nur unnötig kompliziert. Zusammen, was zusammen gehört – alle Funktionen oder Methoden einer Applikation gehören einfach in eine Datei.

abb1.tif_fmt2.jpgBildquelle: Peter Hruschka

#define private public

Nun, Sie benötigen etwas Kenntnisse in C oder C++, um diesen großartigen Ratschlag so richtig würdigen zu können: In diesen Sprachen verarbeitet ein so genannter Präprozessor den Quellcode, bevor ihn der Compiler zu sehen bekommt. Die #define X Y-Direktive bedeutet, dass sämtliche Zeichenketten „X“ durch „Y“ ersetzt werden.

Super ist, dass Sie diese Präprozessordirektive in eine unbedeutende Headerdatei schreiben können (etwa in license.txt), die Sie dann mittels #include license.txt inkludieren.

Das errät niemand – und auf einen Streich werden Sie sämtliche lästigen „privaten“ Definitionen los – und können das leidige Geheimnisprinzip ad acta legen: Endlich stehen Ihnen wieder private Methoden an Schnittstellen zur Verfügung. No more privacy, no more secrets....

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang