c#中windows控件的命名约定

本文关键字:命名约定 控件 windows | 更新日期: 2023-09-27 17:53:58

我想知道c#中命名控件的指导。我看到了以下链接,但它没有谈到控制:http://msdn.microsoft.com/en-us/library/ms229002.aspx

其他链接告诉我使用匈牙利符号,但有些链接告诉我使用匈牙利符号是不好的做法。

个人使用hangarian符号对我来说似乎可以控制。http://vb.byu.edu/vb/HungarianNotation.htm

但是我不确定,需要一些指导吗

c#中windows控件的命名约定

虽然我个人反对匈牙利符号,但我倾向于对Windows控件的名称做类似的事情。但是,我倾向于将控件的类型作为后缀,而不是使用前缀。

liquidHydrogenCapacityTextBox
extraKetchupCheckBox
fileOpenMenuItem
favoriteFormerNSyncMemberDropDownList

我认为这是可以的,不是因为它描述了变量的类型,而是因为它描述了变量实际包含的内容。

使用与其他代码相同的转换来命名它。

如果你的代码使用匈牙利语,那么用它命名。如果您的代码使用了其他内容,请使用它。

唯一的例外是面向公共的API(类型、枚举等)。我建议你走微软的路线,给东西起名,去掉前缀和其他繁琐的东西。

我使用匈牙利符号有一段时间了,但主要的问题是,如果您更改控件的底层类型,您就会被您决定的名称所困住。如今,重构工具很有帮助,但在我的日常工作中,我经常遇到"calSomething"或"edtWhatever",它们不再是日历和编辑器了。我记得微软也习惯了这一点,所以我们仍然在Windows SDK中使用wParam和lParam,尽管事实上它们自32位操作系统出现以来基本相同。

我的建议是根本不要使用匈牙利符号,而是为控件选择有意义的名称。大多数情况下,智能感知等对于确定控件的类型非常有帮助,并且使用前缀有时会使偶尔的读者不太清楚您的代码,因为它会将您的注意力从程序的语义转移到它使用的机制上。

我将采取少数立场,并说我们的商店仍然普遍使用匈牙利符号的WinForms控件。主要是因为这是我们最初编写UI时的标准,没有理由回去做大量重命名。

当我们编写新的UI代码时,尤其是WPF,我们更倾向于使用像"userNameTextBox"这样简单的名称(在极少数情况下,我们需要为WPF控件命名)。