Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 命名用户控件的最佳实践?_C#_.net_Winforms_Naming Conventions - Fatal编程技术网

C# 命名用户控件的最佳实践?

C# 命名用户控件的最佳实践?,c#,.net,winforms,naming-conventions,C#,.net,Winforms,Naming Conventions,我已经创建了很多用户控件来封装应用程序中多个地方使用的GUI功能。我注意到我通常倾向于描述控件的功能,并在名称的末尾加上“control”,但并不总是这样。我想对命名进行标准化,并想知道在.NET中是否有命名用户控件的最佳实践?除非您直接为其他编码器编码,否则请尽量使用用户熟悉的方法。不引入最终用户不熟悉的术语是一个已证明的可靠性问题 UI元素是我唯一仍然使用匈牙利符号的元素。这对我有用 这主要是一种偏好,但我发现当我选择一个控件时,我的思维顺序是“它会是什么类型的控件”,然后是“它做什么”。在

我已经创建了很多用户控件来封装应用程序中多个地方使用的GUI功能。我注意到我通常倾向于描述控件的功能,并在名称的末尾加上“control”,但并不总是这样。我想对命名进行标准化,并想知道在.NET中是否有命名用户控件的最佳实践?

除非您直接为其他编码器编码,否则请尽量使用用户熟悉的方法。不引入最终用户不熟悉的术语是一个已证明的可靠性问题

UI元素是我唯一仍然使用匈牙利符号的元素。这对我有用


这主要是一种偏好,但我发现当我选择一个控件时,我的思维顺序是“它会是什么类型的控件”,然后是“它做什么”。在这种情况下,输入“uct”并让intellisense为我提供替代方案是有意义的。

实际上,Control是一个很好的后缀。考虑对名称/地址进行控制,您需要名称中的一些东西,将其标记为GUI而不是逻辑。p>
因此,我倾向于使用NameAddressControl。

我还将我的用户控件后缀为“Control”
我的UI模块的典型结构如下所示:

数据输入
->数据入口窗体
->DataEntryAddressControl
->DataEntryNameControl
->DataEntryAddressItem
->DataEntryAddressItemCollection
->DataEntryConfirmationDialog

等等


与其他一些控件一样,我们也使用控件后缀作为用户控件。(即ResPayerControl)

我见过两种方法:

  • LoginDataCalendarCtl
  • UCLoginDataCalendar
firstNameLA.Text=“Name:”

firstNameTI.Text=“”

1) lowcaseCamel,因为控件是默认私有的

2) 对intellisense等使用后缀而不是前缀,以按名称而不是类型拾取


3) 包括类型,而不是简单的“控制”,以提醒您记住所有这些该死的花式schmantzy ui公司的真实、古怪的名称,除了另一个开发人员偶尔会检查它并处理项目的非UI部分。@jasonh:你可能是目前唯一一个处理该项目的人,但这不是让其他人更难处理的借口。除非你打算在你的余生中从事这个项目,否则你也必须考虑你的替代者(以及其他可能在5年或10年后从事此代码工作的人……。@丹尼尔·普莱登:我知道,但因为我现在没有任何其他与我一起工作的开发人员来了解他们熟悉的东西,我来这里是想知道社区认为我应该做什么。正是为了让其他人能够维护它。@jasonh回答Daniel:好的,大体上这是一个很好的方法,但是在你自己的工作中,你可以从代码主体中提取一些东西来处理它。我的回答几乎一字不差地来自我的风险管理专业人士,他拥有40多年的现场经验。我写了我的整个应用程序几乎没有图形用户界面,编码它作为一个事后思考。当我必须把它展示给我的团队领导时,我很小心地写下大家都熟悉的人类读物。我所做的是使用一个RandomStringGenerator作为变量名,然后在我弄清楚它们的作用后命名它们。我现在有三十个名字正确了……OP询问的是Windows窗体用户控件,而不是ASP.NET;)