在UI中替换/避免匈牙利表示法的命名建议?

时间:2009-05-27 23:21:44

标签: naming-conventions fxcop hungarian-notation

除了在UI中,我已经停止使用匈牙利符号,我经常使用用户名标签,用户名文本框,用户名局部变量,必填字段验证器,用户名属性和方法参数等等。 ,通常都在同一个环境中。

当前:lblUser,txtUser,rfvUser,_User,用户,用户

如果我做了显而易见的UserLabel,UserTextBox,UserRequiredFieldValidator,似乎我只是为更短的前缀替换了更长的后缀。

指示字段的_由FxCop标记,但没有前缀,它将与批准的用户/用户约定冲突。

有什么建议吗?

4 个答案:

答案 0 :(得分:4)

我仍然通常对UI对象使用匈牙利表示法,因为我发现它使我的代码更具可读性。

我会使用m_firstNameTextBox或m_countryComboBox作为UI控件,然后使用m_firstName和m_country作为这些控件的字符串值。

在一天结束时,你应该使用你喜欢的任何东西。避免匈牙利表示法的一揽子规则与规定宗教使用它的规则一样糟糕。很明显像intCounter,strName这样的东西是矫枉过正的,但在其他情况下,在变量名中指出类的类型是很有意义的,在我看来,UI控件恰好是它确实有意义的情况之一。

答案 1 :(得分:2)

匈牙利表示法没有任何问题,只要它用于使代码更具可读性。如果你认为它没有贡献,那就不要使用它。

啊,请不要同时使用'用户'和'用户'。 它很难阅读,使用,维护和移植。如果两个不同的东西有两个不同的含义,那么匈牙利符号比通过在大写/小写之间翻转字符来编码该信息更好。

我不知道是谁在程序语言中发明了区分大小写,但他造成的伤害比当时任何人都想象的还要多。我讨厌收到编译器错误,因为我输入' ID '而不是' ID '或' UsbDrive ',当它应该'软胶U盘”。

答案 2 :(得分:1)

我更喜欢匈牙利语,即使它在UI中导致了很长的名字(因为你提到的问题)。我唯一的建议是在整个团队中保持一致。

答案 3 :(得分:1)

使用全部小写和下划线,案例问题就消失了。 SomeIdiotSomewhereDecidedThisWasAGoodWayToDoThingsAndIfIFindHimIWillKillHim。