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

Fahrrad geklaut

Erstes Review des Sony XZ Premium

Unterschiedliche Sichtweisen

Vorbestellt: Sony Xperia XZ Premium

Giants Run 2017

Gelesen: SciFi Serie 'The Expanse'

Neue Tastatur: Pok3r Vortex RGB

New minecraft survival mod for 1.11.2

Änderungen beim Flug mit Quadkoptern

Ein paar Fotos