编码时使用的命名约定是什么?
编码时使用的命名约定是什么?
解决方案
这是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
在这里下载
一致性是关键。根据开发团队的规模,使用一致且有记录的对流会更容易拾取别人的代码,而别人也更容易拾取自己的代码。