Repräsentative Zeile: Federn s... Notiz

Repräsentative Zeile: Federn sind optional

"Optionale Typen wurden eingeführt, um Nullreferenz-Ausnahmen, oft als "Billionen-Dollar-Fehler" bezeichnet, zu vermeiden. Sie funktionieren, indem sie einen Wert umschließen und sicherstellen, dass die Option selbst immer existiert. Dies ermöglicht es Entwicklern, sicher auf die Anwesenheit eines tatsächlichen Wertes zu prüfen. Gut gestaltete optionale Implementierungen bieten nützliche Methoden zur Wertmanipulation. Das Konzept kann jedoch missbraucht werden, wie die Erstellung von statischen optionalen Konstanten für WAHR und FALSCH zeigt. Diese Praxis ist fragwürdig, insbesondere in Sprachen, die bereits solche booleschen Konstanten bereitstellen. Die Erstellung von Konstanten wie Optional.of(Boolean.TRUE) kommt im Wesentlichen dem gleich, was TRUE = TRUE bedeutet. Solche Implementierungen deuten auf zugrundeliegende Designfehler hin. Der Autor stieß darauf in einer Spring Web-API-Anwendung, bei der benutzerdefinierte Filter implementiert wurden, anstatt die Funktionen des Frameworks zu nutzen. Das Beispiel für statische optionale Deklarationen für WAHR und FALSCH unterstreicht ein breiteres Problem der Neuerfindung bestehender Lösungen. Es impliziert ein Missverständnis des ursprünglichen Problems und des Werkzeugs, das zu dessen Lösung bestimmt ist. Diese unnötige Komplexität kann zu verwirrendem und ineffizientem Code führen."