Von Beinahe-Zusammenstößen auf Fußwegen

Wenn sie diesen Beitrag gelesen haben, dann werden sie wissen, dass ich ein Linkshänder bin, bzw. ein Linksabdreher. Aber sie werden dann auch verstehen, warum wir Menschen manche Dinge völlig unterschiedlich wahrnehmen und einfache Mathematik dies erklärt. Zu Kollisionen kommt es immer dann auf einem Fußweg, wenn die Entgegeneilenden  in unterschiedliche Richtungen ausweichen und deshalb … Read more

Die Zunft der Software Entwickler

Um die Tätigkeiten von Software Entwicklern rankt sich eine Hecke von Unkenntnis und Ignoranz. Fast allen Führungskräften, Kollegen und vielen Akteuren ist nicht klar, was sie da eigentlich tun. Vermutlich hat es etwas mit dem Arbeitsplatz zu tun, der so vielen anderen Arbeitsplätzen ähnelt. Ein Schreibtisch mit einem Computerterminal. Während sich aber beim Chef nur Terminpläne, Kostenrechnungen und Email-Korrespondenz finden, entdeckt man beim Softwareentwickler eine ganze Werkstatt voller Werkzeuge. Der Programmierer ist ein Handwerker und wenn man ganz genau hinschaut, ein Kunsthandwerker.

Noch mehr Besucher

Im vorherigen Beitrag wurde das Visitor Pattern auf ein Enum angewendet, um das Enum nicht mit vielen Methoden zu überfrachten. Wie andere Klassen sollte ein Enum nicht gegen die Prinzipien des objektorientierten Designs verstoßen. Die vorgestellte Lösung funktioniert zwar sehr gut, aber was soll der Entwickler machen, wenn neue Klassen die Bühne betreten? Nachdem er also ein … Read more

Zu Besuch bei den Enums

Die Enums in Java sind eine typsichere Alternative zu den früher verwendeten Konstanten. Mit solchen Konstanten hat man die üblichen Probleme, dass man sie überall fehlerhafter Weise einsetzen oder anstelle der Konstanten andere Werte des Typs verwenden kann. Besser also der Einsatz von Enums, die als echter Typ nur die definierten Konstanten zulassen. Enums erlauben … Read more

Zauberei mit Wahrheiten

Haben Sie manchmal auch das Gefühl, dass ihre Kollegen Angst vor boolschen Ausdrücken haben? So mancher scheint die De Morganschen Gesetze wie die dunklen Zauberkünste einer Morgan le Fay zu fürchten. So bleiben dann auch Ausdrücke, wie der folgende, für Ewigkeiten im Programmcode. Häufige verweisen die Entwicklern auf den Optimierungen des Compilers, wenn sie ihre boolschen Ausdrücke … Read more

Lasst uns mal rausgehen!

Was hat ein Familienausflug mit agilen Teams zu tun? Vielleicht schauen wir einmal zwei Familien dabei zu. Die erste Familie spaziert durch den Wald, die begeisterten Kinder laufen vor und fallen zurück, aber der gesamte Tross ist stetig und  zügig unterwegs. Die Stimmung locker und alle gut gelaunt. Obwohl die Kinder auch immer wieder hinter … Read more

Tolle Tests

schaut man in die Ansammlungen von Unit Tests, die sich im Laufe der Zeit in Projekten anhäufen, stellt man häufig folgendes fest: Es ist nicht klar, was alles getestet wird. Weder der Name noch der Inhalt der Methode lassen direkt auf den Zweck schließen Die Konstruktion der Testdaten ist in andere Klassen ausgelagert Der Abgleich … Read more

Cargo Cult Programming

Manche Entwickler halten Copy&Paste für das schlimmste Anti-Pattern in der Software Entwicklung. Leider muss man ihnen sagen, dass es noch schlimmer geht. Cargo Cult Programming ist die Verwendung von Pattern ohne sie zu verstehen. Dabei kopieren die Entwickler bestehenden Programmcode in der oft irrigen Annahme, dieser Programmcode wäre notwendig. Der folgende Programmcode entstammt einer tatsächlichen existierenden … Read more

Kaiser’s Razor

Never assume software developer skills when stupidity will suffice

Jens Kaiser

Basierend auf Hanlon’s Razor und dem Paretoprinzip,  besagt diese Regel, dass man grundsätzlich von fehlerhaften Sourcecode ausgehen sollte. Man investiert ansonsten zu viel Zeit, um nicht vorhandene Design-Pattern oder absichtsvolle Algorithmen zu entdecken.