Soll ich immer "is" als Präfix für boolesche Variablen verwenden? [geschlossen]

49

Sollte ich immer isals Präfix für boolesche Variablen verwenden? Was ist mit Booleschen Werten, die auf etwas in der Vergangenheit hinweisen? Soll ich schreiben isInitializedoder wasInitialized? Soll ich für Immobilien schreiben IsManyMembersoder HasManyMembers?

Gibt es Best Practices? Oder soll ich einfach nach englischen Regeln schreiben?

Mark Twain
quelle

Antworten:

53

Nicht wirklich, da Boolesche Werte nicht immer verwendet werden, um anzuzeigen, dass ein Objekt etwas "ist".

"has" ist ein ebenso gültiges Präfix "was", "can" sind auch unter bestimmten Umständen gültig, außerdem habe ich das Suffix "Able" verwendet.

So Object herring:-
 isFish = true
 isCat = false
 hasScales = true
 hasFur = false
 canSwim = true
 wasEgg = true
 eatAble = true

Object moggy:-
 isFish = false
 isCat = true
 hasScales = false
 hasFur = true
 canSwim = false
 wasEgg = false
 eatAble = false

Es hängt alles davon ab, was das Programm lesbar macht.

James Anderson
quelle
37
Ich denke, ich würde canBeEaten oder isEdible gegenüber eatAble wählen.
kzh
3
@kzh - isEdible ist gut! Ich bin mir nicht so sicher, ob canBeEaten das ist, was mit dem Objekt passiert, und nicht, was das Objekt kann. Wählerisch wählerisch Ich weiß :-).
James Anderson
1
Was ist mit einer Flagge, die anzeigt, ob etwas erlaubt ist oder nicht? Ist "AllowsExtensions" klar? Oder wäre "DoesAllowExtensions" klarer, wenn auch länger?
Reverse Engineer
1
Wenn Sie -able als Suffix verwenden, würde ich es nicht großschreiben, da es kein Wort ist. zB eher tragbar als wearAble
jk.
2
@kzh: Ich habe anfangs gelesen, dass eatAbleman "essen kann" und nicht "essen kann". Alles in allem ist es mehrdeutig und würde in der Tat besser vermieden werden.
Flater
7

Ich würde mit englischen Regeln gehen. Ich neige dazu, über den nächsten Programmierer nachzudenken, bei dem es sich bei Ihrer Arbeit um einen mit Axt schwingenden Wahnsinnigen handelt, der mich verfolgen wird, wenn der Code schwer zu verstehen ist. Wenn ich das bedenke, ist es die beste Option für meine Gesundheit, den Code sauber und leicht lesbar zu halten, was bedeutet, dass Englisch und die Domänensprache so gut wie möglich sind.

Klee
quelle
2
"Wenn der Kabeljau zu schwer zu verstehen ist",
bleibe