命名布尔属性的框架设计指南是什么?如果没有,那你的建议是什么?
假设我有一个User
类,我需要一个属性来指定用户是否启用。这些是我能想到的选项:
- 使能够
- 启用
- 已启用
- 禁用
- 已禁用
- 被禁用
此外,如果 BL 说用户必须默认禁用并显式启用,考虑到默认值System.Boolean
是,我应该更喜欢“启用”变体false
吗?
命名布尔属性的框架设计指南是什么?如果没有,那你的建议是什么?
假设我有一个User
类,我需要一个属性来指定用户是否启用。这些是我能想到的选项:
此外,如果 BL 说用户必须默认禁用并显式启用,考虑到默认值System.Boolean
是,我应该更喜欢“启用”变体false
吗?
框架设计指南(Brad Abrahms 和 Krzysztof Cwalina)说要使用Enabled
或IsEnabled
(第3.6.2节)。他们说要使用肯定短语(即 CanSeek 而不是 CantSeek),并使用最易读的版本(即 Created 比 IsCreated 更具可读性)。
我个人会Enabled
在您的情况下使用,默认值为false
. User.Enabled
读起来很好,并且很清楚它的含义是什么。
我会避免使用“禁用”变体,因为像“禁用 = 假”这样的双重否定比“启用 = 真”更难理解。
我也更喜欢属性的形容词形式而不是动词“启用”,这将是一个更好的方法名称。
这将其缩小为“启用”或“isEnabled”,这可能是个人风格和惯例的问题。后者强调它是一个布尔值;前者更简洁。