您是否使用匈牙利表示法来控制名称?

时间:2010-10-25 04:09:11

标签: c# winforms naming-conventions hungarian-notation

我完全同意我们不应该使用匈牙利表示法来命名变量。但似乎匈牙利表示法对名称控件(尤其是Winform控件)仍然有用。考虑这些:

GridView grvUsers
TextBox txtPassword

等...

我真的怀疑在这种情况下我们应该避免使用匈牙利符号吗?如果应该,这是名称控件的替代解决方案吗?

2 个答案:

答案 0 :(得分:6)

无论是对还是错,使用匈牙利表示法来命名控件仍然是事实上的标准,并且它似乎非常不合适而不采用它。与.NET语言中的方法使用Pascal Casing的方式相同(在大多数其他语言中,它是不受欢迎的),超出您所使用的环境的公认约定只会使您的代码看起来更加明显 - 的的地方。

我个人赞成这种做法,因为它有助于区分作为用户界面(视图)一部分的类成员与作为代码隐藏(模型/控制器)一部分的成员。如果控制变量的名称与用于存储数据,状态等的名称相似,那么我觉得好像难以抵制将两者紧密结合的诱惑。当然,更明显的逻辑分离也可以克服这一点。

尽管如此,匈牙利表示法毫不怀疑哪些变量是用户界面的一部分,并且在设计者和代码编辑器中也明确了它们的类型和功能。

答案 1 :(得分:1)

我通常根据它们的名称来命名控件,但使用更多的英文名称。比如,我将为名字框命名为“FirstNameLabel”,文本框为“FirstNameBox”。它甚至不是故意的;我刚注意到有一天我正在做这件事,继续这样做是有意义的。

我想我会称之为“美国符号”。