T-Rex: Ja (true), Nein(false) und Beides (both) - 3 Werte - wie am Besten umsetzen?

Beitrag lesen

Es gibt Softwarepattern. Was sagen die ohne Bezug aus? Es gibt Arrays. was sagen die ohne Bezug aus?

Würde ich ein Neuling sein und sagen ich hab da was mit true und false wie behandle ich das. Dann wäre die Antwort schnell "total simple Boolean" - alles gut. Man hat eine Variable, die ist entweder true oder false. Kann man in der Datenbank leicht speichern, man kann es im Programmcode mittels einfachem if leicht abfragen. Benennt man die Variable auch noch entsprechend kann man sogar aus dem Quellcode heraus sehen um was es geht.

Und genau das versuche ich jetzt nicht bei 2 Möglichkeiten sondern bei 3 Möglichkeiten. Gibt es hier eine Intelligente Lösung die immer funktioniert?

Es gab ja schon den Vorschlag zwei Variablen zu nehmen die jeweils ein Boolean sind. Klar ist das eine Lösung, aber ist sie auch smart? Bei der Abfrage im Programmcode müsste man bei einem if beide Variablen prüfen. Würde man meinen Vorschlag gehen und ein Array nehmen mit [-1,0,1], dann würde man in dem if wieder nur eine Sache prüfen. Dafür sind die Zahlen nichts sagend - also doch nicht smart.

Vielleicht ist true, false, null die beste Lösung? Könnte man auch ziemlich locker in der Datenbank abspeichern. Problem ist dabei nur, wenn die Angaben nicht dem tatsächlichen zustand entsprechen sondern wieder nur synonyme sind ähnlich der Array Lösung. Wenn z.b. true für grün steht, false für rot und null für beides. Das kann man aus dem Programmcode ohne Kommentare nicht herauslesen.

Bei 4 Möglichkeiten würde ich eventuell wieder auf 2 Boolean oder doch auf ein Array zurückgreifen. Aber das war hier ja nicht gefragt ;).

Gruß / Nicht Gruß / T-Rex