关于命名bool属性的良好指南

时间:2011-01-14 01:34:36

标签: .net properties naming-conventions

通常如果有一个属性获取/设置状态值,我使用“Is”,如:

Visibility:
.IsVisible

但是对于获取/设置动作的属性,最好使用什么?像:

Casting shadows:
.CastShadows

我应该使用:

.DoesCastShadows

有更好的选择吗?

3 个答案:

答案 0 :(得分:12)

大部分图书馆使用类似.IsShadowCastingEnabled的内容。

例如,UIElement定义IsInputMethodEnabledIsHitTestVisible

关于这一点的好处是IsXXX非常清楚这是一个布尔属性。

答案 1 :(得分:5)

我认为CastsShadows会起作用。在s之后注意Cast。它与Is并行,因为它们都以单数动词开头(Does听起来很俗气。)

答案 2 :(得分:1)

我的偏好是将“Is”用于只读属性;我可能会使用类似“EnableShadows”的东西作为属性。从名称中可能不会立即明白它是属性而不是方法,但是在阅读代码时它应该是显而易见的,并且当编写代码时,Intellisense应该指示它是属性。此外,如果尝试使用EnableShadows作为方法,编译器应该抱怨。