Einsender Capybara James schickte The Daily WTF ein kleines Java-Snippet: Nachdem geprüft wurde, dass dto.getAssetModelUUID() eine Länge hat (neben weiteren Bedingungen), gibt der Code Optional.ofNullable(dto) zurück — obwohl dto gerade dereferenziert wurde und daher erwiesenermaßen nicht null sein kann.
Für sich genommen ist die Zeile eher hässlich als fatal: Sie verzichtet auf den syntaktischen Zucker und verpackt einen Wert, der keinen Nullable-Wrapper braucht. Das eigentliche Problem ist der Kontext. Das Muster zieht sich durch die gesamte Codebasis, und selbst Methoden, die nie nullable Typen zurückgeben, verpacken und entpacken Optionals. Optional ist zum Talisman geworden, der Null-Referenz-Exceptions abwehren soll.
Funktioniert der Zauber? Nicht wirklich — der Code bleibt fehleranfällig. Wird er je repariert? Wahrscheinlich nicht in diesem Leben.
Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.