编码时使用的命名约定是什么?

时间:2020-03-06 14:39:54  来源:igfitidea点击:

编码时使用的命名约定是什么?

解决方案

这是MSDN中的常规命名约定列表。

但是,我倾向于顺其自然。无论目前采用什么标准,通常最简单的就是随它们一起使用,并可能随着时间的推移慢慢地改变它。仅以我们自己的"标准"思想进入项目并尝试实施它们是不实际的。

imo使用什么标准并不重要,只是有一些标准,人们知道它们是什么。

我希望我们不会在这里讨论字段名称和花括号样式的前缀:)

这是我对.NET的圣经:

替代文字http://ecx.images-amazon.com/images/I/51HT7RDZW7L.SL500_AA240.jpg

MSDN还提供了可靠的指导。

另一个有用的来源是《 MS内部编码指南》

可以使用匈牙利表示法。我不打扰自己,但我给各种东西(变量,控件等)起了个明智的名字。

例如,我为控件名称使用匈牙利风格的前缀,例如TextBoxes的txt,Buttons的btn,PictureBoxes的pic,Label的lbl等。这有助于轻松识别控件是什么。

对于函数名称,我尝试并使用明智的解释性名称,但对于任何特定规则均不使用。对于变量名,我只使用解释性名称,但没有什么特别的。

在项目开始时,我结合使用了匈牙利语,驼峰式案例和其他规则。像现在这样:

  • 方法是大写的(DoThis)
  • 变量是驼峰大小写(thisThing)
  • 页面级变量以_(_thisWorksEverywhere)开头
  • 区域均为小写字母(#region外部属性)
  • 属性和对象是大写的(Object.Property)
  • 外部属性以_(Object._ForeignGroups)为开头
  • 控件在一定程度上是匈牙利语,例如(txtTextBox)和(rptRepeater)。我对习惯没有严格要求,因为"水印"可以是wm或者wk或者其他任何形式,只要它们在我的应用程序中都相互匹配即可。

...等等。有些事情是标准的,其他的则取决于解释,但是最重要的是整个应用程序的一致性。

亲朋好友,请勿发布"我喜欢__field"或者"我喜欢m__field"之类的答案。这是一个非常个人化和主观的问题,没有一个答案。

如果我们有任何指导方针,那已经是一个很大的胜利。开发团队最糟糕的事情是缺乏通用的约定。

如果尝试描述给定准则的一些好处,那就太好了。
例如:

prefixing fields with underscore can
  improve auto-completion with
  intellisense

一致选择一个。更改名称样式会导致混乱。

为了补充@Aku的答案,《框架设计指南》的作者已在其指南的在线摘要版本上发布了版本,重点是命名内容。

框架设计指南摘要v2

在这里下载

一致性是关键。根据开发团队的规模,使用一致且有记录的对流会更容易拾取别人的代码,而别人也更容易拾取自己的代码。