Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

'Other'-Wert in ENUMs: Ein Aufruf zur Vorsicht

Im API-Design kann die Einführung eines 'Other'-Wertes in ENUMs zu unerwarteten Problemen führen. Ein Blog-Beitrag von Raymond Chen beleuchtet das Dilemma und bietet Alternativen für eine bessere Handhabung.
© (Quelle: EMGenie)

Ein Fallstrick, über die viele Entwickler bei der Arbeit mit Enumerationen (ENUMs) stolpern, ist die Einführung eines 'Other'-Wertes. Ein Beitrag im Blog "The Old New Thing" von Raymond Chen macht auf diese Problematik aufmerksam und zeigt auf, wie ein solcher Wert einer Anwendung schaden kann.

Nehmen wir die folgende ENUM-Deklaration:

enum class WidgetFlavor {   Vanilla,   Chocolate,   Strawberry,   Other }; 

Hierbei wird angenommen, dass es drei Geschmacksrichtungen von Widgets gibt, aber möglicherweise in Zukunft weitere hinzukommen werden. Um auf diese Möglichkeit zu reagieren, wird ein 'Other'-Wert eingeführt, um spätere Erweiterungen zu berücksichtigen. Doch dieser Ansatz birgt erhebliche Risiken.

Stellen wir uns vor, dass in zukünftigen Versionen der ENUM ein neuer Geschmack namens 'Mint' hinzugefügt wird:

enum class WidgetFlavor {   Vanilla,   Chocolate,   Strawberry,   Other,   Mint }; 

Ein Benutzer des API, der die Funktion GetWidgetFlavor aufruft und ein Mint-Widget erhält, sieht sich nun einem Dilemma gegenüber. Soll der Rückgabewert 'Mint' lauten oder wird dies die Kompatibilität mit bereits existierendem Code gefährden, der 'Other' erwartet?

Die Problematik besteht darin, dass der Begriff 'Other' impliziert, dass die ENUM vollständig ist. Der Rückgabewert 'Other' könnte für ältere Versionen des Codes als unerwartet und verwirrend angesehen werden. Chen empfiehlt daher, auf die Verwendung von 'Other' zu verzichten und stattdessen festzulegen, dass Werte, die nicht erkannt werden, als 'Other' betrachtet werden sollten.

Ein besserer Ansatz wäre es, die ENUM offen zu lassen und zu dokumentieren, dass der neue Wert 'Mint' zu einer separat definierten Kategorie zählt. Auf diese Weise können neue Implementierungen 'Mint' korrekt zurückgeben, während älterer Code die neuen Werte in einer selbst definierten 'Other'-Kategorie belässt.

Entwickler sollten also bei der Gestaltung ihrer APIs Vorsicht walten lassen.

Vorsicht bei der Implementierung von APIs mit other-Werten in Enums

Kommentare

Softwareentwicklung
Anzeige
Anzeige

Neueste Beiträge

Die besten PCtipp-Artikel aus der Kalenderwoche 37
In der Kalenderwoche 37 vom 7. bis 13. September 2026 standen die Artikel «yallo bringt Travel eSIM für mobile Daten in über 160 Destinationen» und «iPhone Duo und weitere Hardware vorgestellt» oben in der Gunst unserer Leserschaft. 
2 Minuten
18. Sep 2026
Die Telekom und Vodafone rüsten sich fürs Oktoberfest
Die Netzbetreiber rüsten sich für den Ansturm der Besucher auf dem Münchner Oktoberfest. Nach Telefónica Deutschland haben nun auch die Telekom und Vodafone ihre Pläne für deren Versorgung mit Mobilfunk vorgestellt.
3 Minuten
18. Sep 2026
Erste Singles schon da
Grand Theft Auto VI bekommt auch Musikalbum
Zusätzlich zum Spiel Grand Theft Auto VI wurde nun auch ein Musikalbum angekündigt. Die ersten sechs Songs daraus können schon angehört werden.
2 Minuten
18. Sep 2026

Das könnte Sie auch interessieren

Der Zenit für Gamer, Cosplayer und Fans von Star Wars
Fantasy Basel 2024: der grosse Rückblick
Sie war auch dieses Jahr die wichtigste Messe für Gamer, Cosplayer oder einfach für alle, die galaktische und fantastische Geschichten lieben. PCtipp hat die coolsten Bilder auf der Fantasy Basel 2024, der grössten Schweizer Comic Con, gesammelt.
3 Minuten
13. Mai 2024
Brack.Alltron CONNECT 2026: Die wichtigste ICT-Leitmesse der Schweiz
Auf der CONNECT 2026 von Brack.Alltron am 26. und 27. August 2026 in Zürich-Oerlikon treffen sich ICT-Professionals zur wichtigsten Fachmesse der Branche. In der Halle 550 präsentiert der Veranstalter Brack.Alltron unter dem Motto «Unboxing Tomorrow» an zwei Tagen die neuesten Trends und Lösungen. PCtipp ist live vor Ort und zeigt die Aussteller und Trends.
5 Minuten
27. Aug 2026
In eigener Sache
PCtipp 9/2026: mit diesen Themen ab dem 28. August 2026 am Kiosk erhältlich
Freuen Sie sich auf eine Ausgabe voller praktischer Ratschläge und fesselnder Inhalte! Holen Sie sich Ihren PCtipp 9/2026 ab dem 28. August 2026 am Kiosk und bleiben Sie stets auf dem neuesten Stand der PC-Technologie. Das Epaper ist auch schon online.
2 Minuten
28. Aug 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare