使用匈牙利表示法通常被认为是不好的做法,但是找到名为userNameTextBox
和的GUI控件很常见userNameLabel
。
您是否将控件类型放在名称中?这不是匈牙利的一种表示法吗?
使用匈牙利表示法通常被认为是不好的做法,但是找到名为userNameTextBox
和的GUI控件很常见userNameLabel
。
您是否将控件类型放在名称中?这不是匈牙利的一种表示法吗?
Answers:
就像你说的。通常,匈牙利表示法是一种不良做法。我希望我的名字尽可能地靠近域名,但是有时您想说的是这是文本框,这是标签。
请参阅Kramii对另一个问题的回答,以了解他为何在某些情况下仍然使用匈牙利语。
与所有代码一样,一致性和自我评估是关键。如果您和您的团队就如何标记不同的GUI控件以及需要标记哪些元素达成了一致,则可以:)
实际上,我仅将匈牙利表示法用于GUI控件。我使用lblText,rbGroup1,lvTable等标签,单选按钮和列表视图。
它们永远不会改变,并且很明显,什么是GUI控件,什么不是。
但是,由于我将WPF与绑定可能性一起使用,因此实际上根本不需要再为其命名,因为它已绑定到C#属性。
顺便说一句,不要错误地调用我偶尔会看到的控件lvListViewPersons。如果变量以lv为前缀,则可以看到它已经是列表视图。
我对GUI元素使用匈牙利表示法。这真的是当你关闭QtDesigner,打开Visual Studio中,当你想在按钮集文字,如果你有一个名为文本框的痛苦username
,password
等当你使用Qt,这不是什么大问题,因为所有的GUI元素被包裹在里面ui
对象(ui.username
),但是当我使用Windows窗体时,名为username的文本框只会膨胀名称空间。
在这种情况下,txtUsername
,btnLogin
,lblStatus
,等显然是更好的选择。
我避免在GUI控件中使用匈牙利符号-我会避免命名为“ lblFirstName”之类的控件,因为我并不在乎它是否是标签-从数据绑定的角度来看,这只是要绑定的东西。
对于需要名称的控件,我通常ux
为“用户体验” 添加前缀。这清楚表明该项目仅旨在与用户进行交互。例如,我的视图模型可能有一个名为的属性FirstName
,而视图可能有一个名为的控件uxFirstName
。这样做的另一个好处是,我所有的命名控件都可以在我的IDE中很好地分组。
ux
前缀本身不是匈牙利符号吗?也许另一种类型(我忘记了两者的名称)表示含义而不是类型,但仍然是匈牙利语的一种形式;-)
apps hungarian
不是systems hungarian
。匈牙利语的应用几乎没有与系统一样有害,但是我认为'ux'的含义可能太高,甚至不能被视为应用。我猜您可以称其为匈牙利文或其他形式的东西:)