9

命名布尔属性的框架设计指南是什么?如果没有,那你的建议是什么?

假设我有一个User类,我需要一个属性来指定用户是否启用。这些是我能想到的选项:

  • 使能够
  • 启用
  • 已启用
  • 禁用
  • 已禁用
  • 被禁用

此外,如果 BL 说用户必须默认禁用并显式启用,考虑到默认值System.Boolean是,我应该更喜欢“启用”变体false吗?

4

2 回答 2

9

框架设计指南(Brad Abrahms 和 Krzysztof Cwalina)说要使用EnabledIsEnabled(第3.6.2节)。他们说要使用肯定短语(即 CanSeek 而不是 CantSeek),并使用最易读的版本(即 Created 比 IsCreated 更具可读性)。

我个人会Enabled在您的情况下使用,默认值为false. User.Enabled读起来很好,并且很清楚它的含义是什么。

于 2009-10-12T18:29:50.503 回答
2

我会避免使用“禁用”变体,因为像“禁用 = 假”这样的双重否定比“启用 = 真”更难理解。

我也更喜欢属性的形容词形式而不是动词“启用”,这将是一个更好的方法名称。

这将其缩小为“启用”或“isEnabled”,这可能是个人风格和惯例的问题。后者强调它是一个布尔值;前者更简洁。

于 2009-10-12T18:34:11.913 回答