Lesbarer Sourcecode - functional style


Heute hatte ich die Gelegenheit, ein längliches Stück Sourcecode aufzuräumen. Ich habe dabei versucht, meine Erfahrungen aus der funktionalen Programmierung in meine Hauptsprache Java einzubringen.

So ähnlich sah der Code vorher aus:

Und so ungefähr sieht der neue Code aus:

Der echte Code ist noch etwas lesbarer geworden, da ich die komplexe Erstellung der ObjectTuple und die noch längere Berechnung in Hilfsmethoden ausgelagert habe. Vorher musste man mühsam die verschiedenen Werte, die in die Berechnung einflossen, in jeder der if-Abfrage raussuchen und anschliessend noch einmal verstehen, was da aufgerufen wurde. Mit einem sprechenden Methodennamen in der foreach-Schleife sieht man auf einen Blick, was dort für alle Objekte passiert. Vor der Schleife wird eine einfache Liste erstellt, für die ich eine einfache Klasse zum Ablegen der zusammengehörigen Daten eingeführt habe. Ich nenne diese Klassen einfach Tuple, da sie zu nichts ausser dem Festhalten der Beziehung dieser Daten für die folgende Berechnung dient.

Ich bin mittlerweile eh ein großer Fan von Listen und überlege jetzt immer sehr genau, ob ich ein Objekt oder gleich eine Liste von Objekten zurückgeben soll. Damit erspart man sich auch die meisten Probleme, die man mit null als Rückgabewert von Methoden einhandelt...

Wie auch immer, jedenfalls konnte ich den Sourcecode um einige Zeilen und einige Pfade erleichtern. Die Abdeckung des Codes ist gestiegen, die Lesbarkeit hat sich (jedenfalls nach meiner Meinung) verbessert und sie lebten glücklich bis zur nächsten Anforderungsinflation. ;-)

Weitere Artikel

Eindrücke aus Red Dead Redemption 2

Neuer Bluray Player: PS4

How to hardware reset the new Oura ring

Neuer Monitor: Dell S2716DG

Ein paar Bilder

Endlich da: Mein Oura Ring

Quick changelog with git

Pik Ass in Destiny 2

Neue Drohne: DJI Mavic Air

Confirmed: Changes to the Crossfit Games