命名布尔属性的Framework Design Guideline是什么?如果没有,那你的建议是什么?
假设我有一个User
类,我需要一个指定用户是否启用的属性。这些是我能想到的选择:
另外,如果BL表示默认情况下必须禁用该用户并明确启用,那么我是否应该选择“启用”变体,并考虑System.Boolean
的默认值为false
?
答案 0 :(得分:8)
框架设计指南(Brad Abrahms和Krzysztof Cwalina)说使用Enabled
或IsEnabled
(3.6.2部分)。他们说要使用肯定的短语(即CanSeek而不是CantSeek),并使用最易读的版本(即.Created比IsCreated更具可读性)。
我个人会在您的情况下使用Enabled
,默认值为false
。 User.Enabled
读得很好,并清楚其含义是什么。
答案 1 :(得分:2)
我会避免“禁用”变体,因为像“disabled = false”这样的双重否定词比“enabled = true”更难理解。
我也更喜欢将属性的形容词形式添加到动词“enable”中,这将是一个更好的方法名称。
将其缩小为“启用”或“isEnabled”,这可能是个人风格和问题的关键。惯例。后者强调它是一个布尔;前者更简洁。