Vor längerem bin ich über dieses Beispiel in unserem Code gestolpert.
Aufgabe dieser Methode ist es eine Konfiguration auszulesen und (weil als String in der DB) in ein BigDecimal umzuwandeln.
Tatsächlich versteckt sich hier eine Falle, da der Code davon ausgeht, dass immer ein Wert vorhanden ist (Optional.get()). Eine NoSuchElementException wird ebenfalls ignoriert.
Da wir in diesem Programm viele tausend Belege täglich verarbeiten wollen, stellt sich jetzt die Frage, wie wir damit umgehen, wenn dieser (erwartete) Konfigurationswert doch fehlt.
Ist unsere Anwendung dann in der Lage sich schnell und schmerzfrei von diesem Fehler zu erholen?
Falls das (jemals) zu Problemen führt, wird es vermutlich zu etwas längerem Debugging führen, weil imho nicht sofort klar sein wird, was die tatsächliche Ursache war.
War eine spannende Diskussion im Team, denn dieses Beispiel zeigt, wie ein vordergründig kleines Problem große Auswirkungen haben kann.