© Excellent backgrounds/Shutterstock.com
Eine Typologie für Softwareentwickler

Design Types


„Das hätte ich anders gemacht“ ist eines der häufigsten Zitate oder Denkweisen, die genau dann auftreten, wenn ein Softwareentwickler den Code eines Kollegen inspiziert. Und das selbst in Zeiten, in denen einheitliche Code-Formater und Quellcodequalitätsmetriken immer häufiger eingesetzt werden. Fernab von Syntaxoptimierung und Vereinheitlichung gibt es wohl doch noch elementare Unterschiede in der Art und Weise, wie Individuen Lösungen gestalten.

Doch woran liegt das? Zum einen ist die Softwareentwicklung (glücklicherweise) immer noch ein kreativer Beruf und bietet somit persönlichen Gestaltungsspielraum, den eine Henne in einer Legebatterie nicht mehr hat. Zum anderen gibt es oft verschiedene Wege, die man einschlagen kann, um das geforderte Ziel zu erreichen. Es gibt zwar sicherlich auch falsche Wege, aber ebenso gibt es auch viele unterschiedliche Wege, die zum Erfolg führen.

Und auf dem Weg zum Ziel treffen wir täglich viele Designentscheidungen: Das fängt bei kleinen Dingen wie einer Methodensignatur an, beinhaltet aber ebenso die Verwendung bestimmter Sprachfeatures oder zusätzlicher Bibliotheken. Aber auch die Art und Weise, wie eine Schnittstelle oder ein API designt ist oder welche Designprinzipien oder Design Patterns zur Anwendung kommen, zählt neben vielem anderen mit dazu.

Jeder Entwickler hat, basierend auf seinen Erfahrungen, ein eigenes Wertesystem für gutes und schlechtes Softwaredesign und entwickelt dieses meist kontinuierlich weiter. Man kann hier durchaus vom „Programmierstil“ sprechen. Da wir darin aber mehr sehen als nur den syntaktischen Aufbau von Quellcode, beinhaltet dieser auch das Wertesystem für Softwaredesign. Und diese beiden Teile zusammen sind oft die Messlatte, anhand derer die „Qualität“ oder „Reife“ des eigenen Quellcodes bemessen wird.

Dasselbe Wertesystem wird natürlich auch auf die Erzeugnisse anderer Kollegen angewendet (oft auch ein wenig strenger, da man sich selbst oft mehr Freiräume zugesteht). Und da es menschlich ist, dass man sich auch immer wieder mit anderen vergleicht, wird anhand des eigenen Wertesystems bemessen, ob der Kollege gute oder schlechte Arbeit abgeliefert hat. Nicht selten kommt dann etwa der Satz: „Das hätte ich anders gemacht“, vielleicht noch in der wertschätzenden Variante: „Das kann man schon so machen, ich hätte das aber ein wenig anders gemacht.“

Die wesentliche Frage, die sich hier aber geradezu aufdrängt, lautet „Warum hättest du es anders gemacht?“ Und genau das ist der Punkt, d...

Exklusives Abo-Special

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