什么是命名布尔属性的FDG?

Max*_*oro 7 .net c# design-guidelines

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

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

  • 启用
  • 启用
  • 的IsEnabled
  • 禁用
  • 被禁用

此外,如果BL说,用户必须在默认情况下禁用和启用明确,我应该更喜欢"启用"的变化,考虑到默认值System.Booleanfalse

adr*_*nks 8

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

我个人会Enabled在你的情况下使用,默认值为false.User.Enabled读得很好,并清楚其含义.