命名布尔属性的Framework Design Guideline是什么?如果没有一个,那么你的建议是什么?命名布尔属性的FDG是什么?
比方说,我有一个User
类,我需要一个属性来指定用户是否启用。这是我能想到的选择:
- 启用
- 启用
- 的IsEnabled
- 禁用
- 残疾人
- IsDisabled
此外,如果BL说,用户必须在默认情况下被禁用并且明确启用,如果我更喜欢'启用'变体,co认为System.Boolean
的默认值是false
?
命名布尔属性的Framework Design Guideline是什么?如果没有一个,那么你的建议是什么?命名布尔属性的FDG是什么?
比方说,我有一个User
类,我需要一个属性来指定用户是否启用。这是我能想到的选择:
此外,如果BL说,用户必须在默认情况下被禁用并且明确启用,如果我更喜欢'启用'变体,co认为System.Boolean
的默认值是false
?
框架设计指南(布拉德Abrahms和克齐斯茨托夫·克瓦林纳)说,为使用Enabled
或IsEnabled
(部分3.6.2)。他们说使用肯定性短语(即CanSeek而不是CantSeek),并使用最可读的版本(即创建比IsCreated更具可读性)。
我个人会在你的情况下使用Enabled
,默认值为false
。 User.Enabled
阅读很好,清楚它的含义。
我会避免“禁用”变体,因为像“disabled = false”这样的双重否定比“enabled = true”更难理解。
我还希望动词“启用”属性的形容词形式,这将是一个更好的方法名称。
将其缩小到“启用”或“isEnabled”,这可能是个人风格&约定的问题。后者强调这是一个笨蛋;前者更简洁。
有趣的是,微软的一些代码不遵循这个指导原则,例如 System.Web.Mvc.MvcHandler具有一个静态属性DisableMvcResponseHeader。他们为什么选择使用Disable?是因为它默认启用,默认情况下bool默认为false,因此默认情况下它不会被禁用? – 2009-11-02 18:36:05