您如何命名GUI控件?


Answers:


12

就像你说的。通常,匈牙利表示法是一种不良做法。我希望我的名字尽可能地靠近域名,但是有时您想说的是这是文本框,这是标签

请参阅Kramii对另一个问题的回答,以了解他为何在某些情况下仍然使用匈牙利语。

与所有代码一样,一致性和自我评估是关键。如果您和您的团队就如何标记不同的GUI控件以及需要标记哪些元素达成了一致,则可以:)


8

实际上,我仅将匈牙利表示法用于GUI控件。我使用lblText,rbGroup1,lvTable等标签,单选按钮和列表视图。

它们永远不会改变,并且很明显,什么是GUI控件,什么不是。

但是,由于我将WPF与绑定可能性一起使用,因此实际上根本不需要再为其命名,因为它已绑定到C#属性。

顺便说一句,不要错误地调用我偶尔会看到的控件lvListViewPersons。如果变量以lv为前缀,则可以看到它已经是列表视图。


3
同意这个。GUI控件是唯一一种不是匈牙利符号不是主要罪行的地方(当然是IMO)
Wayne Molina 2012年

4

我们的团队使用匈牙利符号表示GUI控件,而不使用其余的代码。

典型示例是标签后跟文本框:

  • lblFirstName
  • txtFirstName

另外,它使查找文本框变得容易,只需键入“ txt”,其余的事情就由intellisense完成。


1

我对GUI元素使用匈牙利表示法。这真的是当你关闭QtDesigner,打开Visual Studio中,当你想在按钮集文字,如果你有一个名为文本框的痛苦usernamepassword等当你使用Qt,这不是什么大问题,因为所有的GUI元素被包裹在里面ui对象(ui.username),但是当我使用Windows窗体时,名为username的文本框只会膨胀名称空间。

在这种情况下,txtUsernamebtnLoginlblStatus,等显然是更好的选择。


1

我避免在GUI控件中使用匈牙利符号-我会避免命名为“ lblFirstName”之类的控件,因为我并不在乎它是否是标签-从数据绑定的角度来看,这只是要绑定的东西。

对于需要名称的控件,我通常ux为“用户体验” 添加前缀。这清楚表明该项目仅旨在与用户进行交互。例如,我的视图模型可能有一个名为的属性FirstName,而视图可能有一个名为的控件uxFirstName。这样做的另一个好处是,我所有的命名控件都可以在我的IDE中很好地分组。


3
ux前缀本身不是匈牙利符号吗?也许另一种类型(我忘记了两者的名称)表示含义而不是类型,但仍然是匈牙利语的一种形式;-)
Wayne Molina 2012年

我认为您是指而apps hungarian不是systems hungarian。匈牙利语的应用几乎没有与系统一样有害,但是我认为'ux'的含义可能太高,甚至不能被视为应用。我猜您可以称其为匈牙利文或其他形式的东西:)
MattDavey 2012年

1

我知道人们不能整体接受匈牙利符号,但是我仍然发现它在很多地方都非常有用。对于GUI,我至少使用wnd前缀。

不使用匈牙利表示法的问题很简单,一旦您离开了MSVS的顺风车,导航便开始了。您会看到某种形式的信息SomeValue = SomeOtherValue,除非您查找所有该死的东西,否则您不知道会发生什么。通过grep或良好的旧搜索,通常会破坏那里的工作效率,除QT和MSVS之外的IDE确实对查找不利。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.