2

我已经停止在任何地方使用匈牙利符号,除了在 UI 中,我通常有一个用户名标签、一个用户名文本框、一个用户名本地变量、一个必填字段验证器、一个用户名属性和方法参数等等,通常都是在相同的上下文中。

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

如果我这样做很明显,UserLabel、UserTextBox、UserRequiredFieldValidator,似乎我只是用较长的后缀代替较短的前缀。

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

有什么建议么?

4

4 回答 4

4

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

我会为 UI 控件使用 m_firstNameTextBox 或 m_countryComboBox 之类的东西,然后将 m_firstName 和 m_country 用于这些控件的字符串值。

在一天结束时,您应该使用您喜欢的任何东西。避免使用匈牙利符号的一揽子规则与规定宗教使用它的规则一样糟糕。很明显,像 intCounter、strName 这样的东西是多余的,但在其他情况下,在变量名称中指示类的类型确实很有意义,而且我认为 UI 控件恰好是它确实有意义的情况之一。

于 2009-05-27T23:32:05.787 回答
2

匈牙利表示法没有任何问题,只要它用于使代码更具可读性。如果您认为它对此没有帮助,请不要使用它。

啊,请不要同时使用“用户”和“用户”。它难以阅读、使用、维护和移植。如果两个不同的事物有两种不同的含义,那么匈牙利符号是一个比通过在大写/小写之间翻转字符来编码该条信息更好的选择。

我不知道是谁在程序语言中发明了区分大小写的功能,但他造成的破坏超出了当时任何人的想象。我讨厌出现编译器错误,因为我输入了 ' ID ' 而不是 ' Id ' 或 ' UsbDrive ' 而它应该是 ' USBDrive '。

于 2009-05-28T02:54:55.847 回答
1

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

于 2009-05-27T23:33:41.510 回答
1

使用所有小写和下划线,大小写问题就消失了。有些白痴在某个地方决定这是一个好方法,如果我找到他,我会杀了他。

于 2009-05-28T02:58:02.750 回答