属性命名规范

3

哪一个更好或者更清晰?

public int FrozenRegionWidth { get; set; }

或者...

public int WidthOfFrozenRegion { get; set; }

请添加语言标签,有些人不确定你在谈论什么编程语言。 - Kendall Helmstetter Gelner
8个回答

13

我会选择FrozenRegionWidth,否则你会得到一堆以“WidthOf…”开头的属性。

话虽如此,你应该有类似FrozenRegion.Width的东西(这也是我为什么会选择FrozenRegionWidth而不是WidthOfFrozenRegion的另一个原因)。


1

0

FrozenRegionWidth 是在任何地方都使用的。你只是不能使用它

NameOfCustomer

替代

CustomerName

这使我们的变量简短而简洁。你不能用长句子作为变量名。 在这里,你正在创建一个自动属性。记住这一点。它更像是一个变量。


0

个人而言,我更喜欢

public int FrozenRegionWidth { get; set; }

0
我不确定这是否适合在这个社区内提问。我相信这应该是向您的团队提出的问题。
如果我是团队中唯一的开发者并需要选择一个名称,我会创建一个带有宽度属性的FrozenRegion类。

2
我认为这是针对社区的问题。我认为这不是项目特定的。该问题可以写成WidthOfBlabla或BlablaWidth? - Hao Wooi Lim

0

但是,请考虑以下情况:

你正在尝试查找冻结区域的宽度,但是你不确定它被称为冻结区域。也许有些人称其为frozen region,另一些人称其为RegionThatIsFrozen(我知道,这个例子很糟糕)或其他。在这种情况下,程序员键入WidthOf并等待自动完成功能出现以选择正确的选项难道不更容易吗?


1
如果你在谈论使用Intellisense,那么期望以下所有条件都成立是现实的吗?
  • 使用你的类的开发人员完全不知道它
  • 开发人员没有任何文档可供参考
  • 该类具有如此多的属性,以至于仅通过浏览Intellisense列表就很难弄清哪个是哪个
  • 没有任何属性有XML注释来描述它们是什么
- Rex M

0

我更喜欢在名称中先提供更通用的信息。

也就是说,当我在智能感知的成员列表中查看时,它们应该按照我想要查找它们的方式进行分组。如果“FrozenRegion”对我很重要,那么我希望将相关属性命名为FrozenRegionWidth、FrozenRegionFoo、FrozenRegionBar。如果我正在查看“Width”,我希望是WidthFrozenRegion、WidthFoo、WidthBar。

因此,这取决于您的使用方式,但请从最通用到最具体的名称。


0

在类似的问题上提出的问题可能有助于解决,它对名词选择有指示。

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

如上所述,FrozenWidth看起来是一个结构/值类型的最佳候选者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接