Microsoft在其网站上有命名指南(此处).我也有"框架设计指南"一书.
我找不到的是关于命名控件的指南.
例如,一个按钮,当放到表单时,获取typename + number,camel-cased作为默认名称,例如"button1".
这就是我所做的:我删除了数字并在之后添加了有意义的描述.例如"buttonDelete"或"buttonSave".
这样,您就不必在某个指南中维护大量控件及其缩写名称.
你同意吗?
警告:以下内容更多针对WinForm/WPF开发.Patrick Peters正确地指出在处理ASP.NET控件时存在带宽/性能问题.
这里没有真正的标准,我相信这是因为它是最随意的命名方案之一.在大多数情况下,控件对于类是私有的,并且仅在事件处理程序中轻易使用.
像其他的回答者一样,我也常常花费大量时间"修复"控件名称.我会做"btnSave","tbxName"(文本框的tbx)等等.然而,在向其他人解释我的方案时,我意识到这是多么武断."cbx"是ComboBox还是Checkbox?
这让我重新审视设计师自动完成的工作,并意识到如果我让设计师完成工作,我可以清晰,一致,快速地命名控件.它实际上非常类似于问题海报的建议:
我用控件的语义替换控件号.因此"button1"(设计器默认值)将为"buttonSave","listBox3"将成为"listBoxWidgets".如果只有一个该类型的控件,我只删除数字:"errorProvider1"变为"errorProvider".
那怎么更好?
如果它是一个内部变量,那么精心"修复"变量名是浪费时间
如果它缩短了一大堆东西(CheckBox与ComboBox),你的命名方案可能会模糊不清
设计师提供了一个简单(快速)专业化的良好,一致的起点
使用Intellisense时,变量名称的长度无关紧要
当按类型开头时,控制名称可以很好地和直观地(在智能感知中)组合.当你的表单上有15个TextBox时,你只需要记住你想要一个TextBox,输入"textBox",然后从列表中选择名称.
任何不熟悉你的"计划"的人都可以立即看到并采用它比其他任何东西更快.
提供有用的控制名称非常快......非常少的键盘/鼠标可以做到这一点......如此高效率和直观的结果.有什么不喜欢的?
PS.这是一个倾向于Bikeshed的问题,但是因为我可以画一个bikeshed,我继续参加讨论.;)
以下是一些常见的:
frm Form mnu Form menu cmd Command button chk Check button opt Radio button lbl Text label txt Text edit box pb Picture box pic Picture lst List box cbo Combo box tmr Timer
更长的列表是用于VB的INFO:Object Hungarian Notation Naming Conventions.
我没有这样的约定,但我确实尝试使用名称的"类型"部分.例如,按钮,链接按钮,图像按钮往往被命名为'somethingButton'.组合框,单选按钮列表最终都是'somethingSelector'.TextBoxes和Calendars是'somethingInput'.这样我就可以大致了解它的控制方式,而不会将名称与实际实现联系起来.如果我决定用下拉列表替换选项按钮组,则无需重命名!