财产命名惯例
哪一个更好或更清楚?
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看起来像结构/值类型的主要候选者。