Ich erinnere mich, dass in unserer ersten Programmierklasse mit Java bei der Erläuterung der Datentypen Folgendes aufgetreten ist (irgendwie):
Professor : Welchen Datentyp würden Sie wählen, wenn Ihr Programm das Geschlecht des Benutzers speichern muss?
Jemand : Wie wäre es mit einem Booleschen? Sie wissen, wahr für Männer und falsch für Frauen.
Professor : Sicher, das mag funktionieren, aber einige Leute mögen darüber zögern. In der Vergangenheit gab es Streitigkeiten darüber, Männer "wahr" und Frauen "falsch" zu nennen ...
* Gelächter *
Am Ende empfahl er uns, Zeichen (wie 'm'
und 'f'
) in Betracht zu ziehen, obwohl Boolesche Werte in Ordnung sein sollten.
Ich habe versucht, ein bisschen zu suchen, ob es irgendeinen historischen Eintrag bezüglich eines größeren Streits gegeben hat, der auf dieser Programmierpraxis basiert, ohne Glück.
Ich frage nicht, welchen Datentyp für das Geschlecht verwendet werden soll oder ob es in Ordnung ist oder keine Booleschen Werte zu verwenden. Ich frage , ob, historisch , es einen Streit über die Nutzung von booleans wegen der anscheinend das Geschlecht zu bestimmen gewesen ist „falsch“ in der Programmierung (Ich sage nicht , es ist falsch - ich nicht , dass es egal) Verhalten eine Frau "falsch" zu nennen, wie der Professor zu suggerieren schien.
Bei der Suche nach verwandten Fragen geht es nur um die Effizienz der Software.
Antworten:
Dies ist eher ein kulturelles als ein technisches Problem und repräsentiert die Perspektive einer Gesellschaft auf das Geschlecht.
Wenn Sie in einem islamischen Land oder in China studiert haben, kann ich verstehen, warum dies ein Problem ist.
Die Antwort lautet also nein, ich habe noch nie von einem so dummen Problem bei der Programmierung gehört.
quelle
Verwenden Sie niemals einen Booleschen Wert, nur weil es nur zwei Werte gibt. Wenn die Bedeutung von wahr und falsch nicht offensichtlich ist, verwenden Sie eine Aufzählung, falls verfügbar, und Zeichenfolgenkonstanten oder -symbole oder was auch immer, wenn nicht. Und allzu oft gibt es zunächst zwei Werte und später drei. Oder vier.
quelle
Neben dem von Kevinn angegebenen Grund erzwingt die Verwendung von Booleschen Werten in diesem Fall die Verwendung von Variablen- und Eigenschaftsnamen wie isMale (oder isFemale) anstelle von gender.
Für mich ist ein neutraler Name wie "Geschlecht" viel besser als "isblabla" als Eigenschaftsname.
quelle