我正在尝试为布尔变量提出一个良好的命名约定,以表明某些东西是“允许的”。
例如, WarningAllowed 或WarningEnabled(表示我们已打开选项以发出警告)。
CodeComplete对布尔值 (Has<> Is<>) 有一些建议,但这些建议不适用。
我的想法:
- <>启用
- <>允许
- 应该<>
- 允许<>
我正在尝试为布尔变量提出一个良好的命名约定,以表明某些东西是“允许的”。
例如, WarningAllowed 或WarningEnabled(表示我们已打开选项以发出警告)。
CodeComplete对布尔值 (Has<> Is<>) 有一些建议,但这些建议不适用。
我的想法:
我已经看到Can
在这种情况下使用的前缀。例如:
StackPanel.CanHorizontallyScroll
ReceiveActivity.CanCreateInstance
CanExecuteToolEventArgs.CanExecute
我非常喜欢这种命名约定,因为它抽象了值的原因,无论是真还是假:API 的用户通常不必知道命令是因为被禁止还是因为不可能而不合格执行。结果是一样的:一个灰色的菜单项/按钮/任何东西。
这也允许在将来的版本中更改原因(例如,如果一个Can*
属性仅在最初实际上不可能时才返回false,但在将来的版本中,添加了访问权限模型,从那时起,该Can*
属性的值也取决于关于当前的访问权限)。