Von wegen das Leben schreibt die besten
Geschichten. Für mich steht fest: das Leben schreibt Spaghetticode.
Man denkt alles läuft in geordneten Bahnen und
die nächsten Verzweigungen sind klar, aber dann kommt auf einmal eine
Sprunganweisung ins Nichts daher und man hat keine Ahnung, wo man landet.
Wegwerfen und komplett neu schreiben rät der
geschulte Informatiker, doch leider geht das bei Leben nicht so leicht, da beim
Deployment auf eine strikte Trennung von Produktiv- und Entwicklungssystem
verzichtet wurde. Und auch wenn man versucht alles sinnvoll in Modulen zu
strukturieren, irgendeine globale Variable zerschießt einem doch wieder die
ganze Architektur.
private List<Feelings> relationship(); ist
da ein schönes Beispiel. Die Funktion arbeitet zentral mit den globale
definierten Objekten you und me. Nun hat aber you die dumme Angewohnheit, sich
völlig unberechenbar zu verhalten (und auch auf den Zustand von me sollte man
sich nie verlassen). In der originalen Version von relationship() finden sich
jedoch keinerlei Sicherungsmechanismen, die etwaige Ausnahmen sinnvoll
behandeln können. Hier wird dringend empfohlen, auf null-pointer zu prüfen und
von Try-Catch-Konstrukten regen Gebrauch zu machen. Doch auch damit ist man
nicht vor unerwarteten Fehlern in relationship() gefeit, daher sollte auch
deren Aufruf stets unter kontrollierten Bedingungen erfolgen, will man fatale
Ausnahmesituationen vermeiden.
Keine Kommentare:
Kommentar veröffentlichen