- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何处理代码中的 boolean 值。
假设我有一个 Human
类:
public class Human {
private final static int NEWBORN = 0;
private int age;
private boolean married;
public Human() {
age = NEWBORN;
married = false;
}
...
}
在这种情况下,false
是一个魔数(Magic Number)吗?我应该像年龄那样创建一个常量吗?
如果没有,是否有任何情况我必须处理 boolean 值?
最佳答案
严格来说这个用法是没问题的。 false
对于名为 married
的 boolean
来说是一个完全不言自明的值。
您仍然不会经常看到这一点,因为您可能天真地用 boolean 值建模的许多情况实际上涉及的不仅仅是两种状态。
例如,如果您需要以不同的方式处理未婚、离婚和丧偶的人怎么办?突然之间,一个简单的 boolean 值
将无法准确表示您的域数据。
当有疑问时,您可以引入一个enum
(比如说MaritalStatus
),即使它一开始只有两个值。在这里添加额外的枚举值比从 boolean 值完全更改为不同的类型更容易。
使用 enum
的另一个常见原因是,您可以添加一个显式的 UNKNOWN
值,而该值却经常需要(并且避免了令人讨厌的使用 null
表示“未知”)。
关于java - boolean 值可以是一个神奇的数字吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60721935/
tty_driver 结构中的“神奇”值是什么 struct tty_driver { int magic; /* magic number for this stru
这是一个等效的提取代码: #include #include #include #include #include class ChatMessageEdit : public QTextE
我还没有找到适合我的这个问题的具体答案,但也许我误解了一两个关键点。 我正在尝试为一个项目创建数据迁移策略,其中 3 个系统(2 个 MySQL、1 个 MS SQL)将合并到 1 个新系统 (MS
我想在输出 JSON 时从 ActiveRecord/ActiveModel 类中过滤掉特定字段。 最直接的方法就是覆盖 as_json,可能像这样: def as_json (options = n
我是一名优秀的程序员,十分优秀!