繁体   English   中英

C#和Windows窗体控件命名准则

[英]C# and Windows Forms control naming guidelines

是否有人对表单和控件(例如事件,按钮)的命名约定有任何准则/最佳实践?

我通常使用系统匈牙利表示法示例:

btnSubmit :是按钮

lblAccountNum :变量是标签

在WinForms中,我通常使用后缀,例如:

submitButton
accountNumberLabel

等等

但是许多公司仍然使用前缀,如anthares所说。

我认为表单开发不需要任何特殊规则; Microsoft .NET命名指南对此进行了介绍。

我像在应用程序中的任何其他类一样命名表单: MainFormSaveDialog等。

我将控件命名为类中的其他任何字段: okButtonnameTextBox等。

以下示例是大多数.net程序员使用的

Control: Label
Prefix : lbl
Example: lblFirstName

我通常以完整的类名作为前缀,例如textBoxName。 我发现它比三个字母前缀更易于阅读,并且与IDE生成的名称一致。 我只命名代码引用的控件。 数据绑定的控件通常不需要名称。

在大多数公司中,前缀不是完整的类名,而是某些类名的缩写,其原因如下:

  1. 大多数命名约定都在Visual Studio 2010之前获得批准。
  2. 2010年之前的所有Visual Studio版本都有其智能感知筛选器,例如“开始于”而不是包含。

这就是为什么许多人/建筑师/领导者认为键入“ txt”是一个更好的主意,而inteli sense会为您过滤所有文本框,因此,例如,您只需键入“ E”,便会得到txtEmail。 如果您具有完整的类名,则需要输入“ textBoxE”以在智能上获得相同的结果。 当您使用复杂的UI时,这会增加很多过热。

现在,借助Visual Studio 2010,您将获得更好的智能感,因此您只需键入“ em”,就可以轻松地在列表中看到“ textBoxEmail”(以及Email和其他包含“ em”的东西)。 我似乎还是更喜欢使用2-3个或最多4个字母的缩写,这使我可以按控件类型(特别是针对UI)以智能方式进行过滤,而不必键入textBox。 我喜欢它的原因是,即使您对某种控件类型(例如RadGrid的“ rg”)感到困惑,您也将需要5分钟3-4次来记住它并开始输入而无需考虑它。 如果您到处都有radGrid,则需要打7招才能找到适合您的过滤条件(例如,“ radGridCustomers”中的“ radGridC”)。

我确实同意,仅命名代码中引用的控件通常就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM