Lesbarer Sourcecode – functional style
Von Carsten
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. 😉