我已经使用匈牙利命名法停止,除了随处可见的UI,经常在那里我有一个用户名的标签,用户名文本框中,输入用户名本地变量,必填字段验证,用户名属性和方法的参数等通常都在相同的上下文

电流:lblUser,txtUser,rfvUser,_user,用户,用户

如果我做明显的,编号userLabel,UserTextBox,UserRequiredFieldValidator,好像我只是substiuting长后缀较短的前缀。

和_用于指示字段,得到由标记的FxCop,但没有前缀,这将与经批准的用户/用户约定比赛。

任何建议?

有帮助吗?

解决方案

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

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

目前,你应该使用任何你喜欢的一天结束。毯子规则,以避免匈牙利命名法是一样糟糕,规定religous使用它的人。这是obivous物像intCounter,则strName是矫枉过正,但在其他情况下,它确实是很有意义的指示变量名,在我看来UI控件恰好是的情况下,它有一定道理一类的类型。

其他提示

有什么错匈牙利命名法,只要它是用来使代码更易读。如果你认为它无助于这一点,那么不使用它。

嗯,请不要同时使用 '用户' 和 '用户'。 这是难以阅读,使用,维护和端口。如果两个不同的东西具有两种不同的含义,那么匈牙利命名法比通过翻转大写/小写字符之间编码的信息片段是更好的选择。

我不知道是谁发明了编程语言区分大小写,但他确实比任何人都可以在当时已经想到更多的伤害。我讨厌收到编译器错误,因为我输入 ' ID ' 而不是 '编号' 或 ' U盘U盘' 时,它应该已经“<强>软胶U盘”。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top