【发布时间】:2011-01-29 06:52:45
【问题描述】:
拿一些类似的代码
if (person.IsMale()) {
doGuyStuff();
} else {
doGirlStuff();
}
是否应该写这个来明确检查是否person.isFemale(),然后添加一个抛出异常的新else?也许您正在检查枚举中的值,或者类似的东西。你认为没有人会在枚举中添加新元素,但谁知道呢? “不可能发生”听起来像是著名的遗言。
【问题讨论】:
-
永不言败:我最近读到一个新故事,讲述了一个处于不确定状态“Down Under”的人成功申请了“未指定”的官方性别指定
-
是的。如果您正在为 2010 年人口普查工作,请处理好,不要扔,男性、女性和其他。对于其他情况和其他枚举,最好把询问的时间花在写“throw”上。
-
Gender 并不是真正的 0(女性)或 1(男性),而是 0.0 到 1.0 的范围。事实上,这也可能是错误的,性别是一个介于 i、i^2 和 7 之间的复数。
-
实际上,ISO (5218) 规定:0 = 未知,1 = 男性,2 = 女性,9 = 不适用。 @朱丽叶-哈哈!
-
如果值存储在一位中,那么无论如何只有 0 和 1 是可能的。
标签: language-agnostic conditional