财产命名惯例

哪一个更好或更清楚?

public int FrozenRegionWidth { get; set; } 

要么…

 public int WidthOfFrozenRegion { get; set; } 

我会说FrozenRegionWidth,否则你最终会得到一大堆以’WidthOf ..’开头的属性。

话虽如此,你不应该有类似FrozenRegion.Width的东西(我在WidthOfFrozenRegion上寻找FrozenRegionWidth的另一个原因)?

我更喜欢FrozenRegionWidth。

有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms229012.aspx上的 .NET框架命名准则。

我不确定这个社区是不是一个问题。 我相信这对你的团队来说一定是个问题。

如果我只是团队中的开发人员并且我必须选择一个名称,我将使用Width属性创建一个FrozenRegion类。

FrozenRegionWidth是随处可用的。 你就是不能用

 NameOfCustomer 

代替

 CustomerName 

这使得我们的变量很短。 你不能继续把长句写成变量名。 在这里,你正在创建一个autoproperty。 记住这一点。 它更像是一个变量。

但是,请考虑以下情形:

您正试图寻找冻结区域的宽度,但是假设您不确定它被称为冻结区域。 Maybesome人称为冻结区域,另一个称为RegionThatIsFrozen(我知道,蹩脚的例子)或者其他什么:在这种情况下,程序员输入WidthOf并等待自动完成开始并选择正确的一个并不容易?

就个人而言,我会优先考虑

 public int FrozenRegionWidth { get; set; } 

我赞成在名称中首先提供更通用的信息。

也就是说,我想要它,以便当我在intellisense中查看成员列表时,它们会根据我想要的方式进行分组。 如果“FrozenRegion”对我来说比我想要命名相关属性FrozenRegionWidth,FrozenRegionFoo,FrozenRegionBar更重要。 如果我正在看“宽度”,我想要WidthFrozenRegion,WidthFoo,WidthBar。

所以它取决于你的用法,但从最通用到最具体的名称。

我在类似的问题上提出的这个问题可能有所帮助,也可能没有帮助,它有关于名词选择的指标。

为了与.NET BCL命名约定保持一致,我将使用FrozenRegionWidth。 包含介词是不寻常的。

如上所述,FrozenWidth看起来像结构/值类型的主要候选者。