C# 将ClassName_SomeEvent()处理程序重命名为SomeEventHandler()?

C# 将ClassName_SomeEvent()处理程序重命名为SomeEventHandler()?,c#,.net,visual-studio,event-handling,naming-conventions,C#,.net,Visual Studio,Event Handling,Naming Conventions,编辑2:实际上SomeEventHandler比SomeEventHandler更简洁: 如果我让Visual Studio为我生成一个事件处理程序,则其名称如下所示: private void ControlOrFormName_SomeEvent(object sender, SomeEventArgs e) { } 例如,表单的Load事件处理程序变为: private void MyForm_Load(object sender, EventArgs e) { } 我不觉得这个方案有

编辑2:实际上
SomeEventHandler
比SomeEventHandler更简洁:

如果我让Visual Studio为我生成一个事件处理程序,则其名称如下所示:

private void ControlOrFormName_SomeEvent(object sender, SomeEventArgs e) { }
例如,表单的
Load
事件处理程序变为:

private void MyForm_Load(object sender, EventArgs e) { }
我不觉得这个方案有吸引力,它有下划线等。此外,它是私人的,所以我想到了这个:

private void LoadHandler(object sender, EventArgs e) { }
我希望这不会让任何人感到困惑(我正在启动一个开源项目),而且由于它位于控件中,因此我认为
MyForm.LoadHandler()
没有其他可能的含义


这有意义吗?我是否遗漏了一些可以证明名称具有类名的内容?

通常上的
用于引发事件,而不是其他内容。

通常
上的
用于引发事件,而不是其他内容。

Visual Studio帮助您遵循以下著名的.NET命名约定

你可以跟随它们,也可以使用你自己的


毕竟,您知道为什么广泛使用的命名约定是正确的做法:许多开发人员应该不费吹灰之力就理解您的代码。

Visual Studio将帮助您遵循著名的.NET命名约定

你可以跟随它们,也可以使用你自己的


毕竟,您知道为什么广泛使用的命名约定是正确的做法:许多开发人员应该不费吹灰之力就能理解您的代码。

在基本
表单
类中已经有了一个
OnLoad
方法,以及许多其他受保护的
OnEvent
方法。如果需要,您通常会在子类中重写这些方法

在表单的代码类型中,
IntelliSense
上的
protectedoverride将向您显示此命名约定已被使用,因此如果您定义了相同的方法,您将隐藏继承的成员

更新

这取决于您,但重要的是在整个项目中与您选择的命名约定保持一致,并确保开发团队中的每个人都知道命名约定。就我个人而言,我不会费心,因为这会在以后项目增长时引起不必要的头痛

命名约定的力量并不是来自于特定的 选择的约定,但基于约定存在的事实,添加 对代码进行结构化,并减少您需要担心的事情-史蒂夫·麦康奈尔


在基本
表单
类中已经有一个
OnLoad
方法,以及许多其他受保护的
OnEvent
方法。如果需要,您通常会在子类中重写这些方法

在表单的代码类型中,
IntelliSense
上的
protectedoverride将向您显示此命名约定已被使用,因此如果您定义了相同的方法,您将隐藏继承的成员

更新

这取决于您,但重要的是在整个项目中与您选择的命名约定保持一致,并确保开发团队中的每个人都知道命名约定。就我个人而言,我不会费心,因为这会在以后项目增长时引起不必要的头痛

命名约定的力量并不是来自于特定的 选择的约定,但基于约定存在的事实,添加 对代码进行结构化,并减少您需要担心的事情-史蒂夫·麦康奈尔



哦,我明白了。所以我不能重命名它?你可以重命名它,但不要在
上加前缀
,这只会让你和其他开发人员感到困惑。这是一个惯例,你不能尊重它,但强烈建议…@CamiloMartin you edit不会改变你可以遵循众所周知的命名惯例或只使用你自己的命名惯例的观点。这取决于你;)如前所述,您可以使用您想要的命名,只是要清楚自己。代码也应该容易被其他人理解;-)@MatíasFidemraizer是的,匈牙利符号也是一种众所周知的命名惯例。哦,我明白了。所以我不能重命名它?你可以重命名它,但不要在
上加前缀
,这只会让你和其他开发人员感到困惑。这是一个惯例,你不能尊重它,但强烈建议…@CamiloMartin you edit不会改变你可以遵循众所周知的命名惯例或只使用你自己的命名惯例的观点。这取决于你;)如前所述,您可以使用您想要的命名,只是要清楚自己。代码也应该容易被其他人理解;-)@MatíasFidemraizer是的,匈牙利符号也是一种众所周知的命名惯例。我还是不喜欢那种默认的惯例。我完全赞成有意义的惯例。下划线?@CamiloMartin向Jon Skeet致意。我不在乎这种意见。命名约定是任意的:不管您喜欢与否,但约定可以强制协作并优化任何开发。官方惯例是你不喜欢的:遵循它,别人会在几秒钟内理解你的代码,或者遵循你的,让别人为你的代码哭泣。我知道你来自哪里,但我认为短名字比长名字好,而且
OnLoadHandler
显然是
OnLoad
的处理程序。我并不是在给它起个模糊或复杂的名字(我会保持一致)。你确定吗?我们在21世纪嘿!因为方法标识符占用了计算机的内存,所以我们需要缩写所有的东西吗?或者删除这些下划线是有意义的,因为编译后的程序将占用大量硬盘空间。。。?在.NET中,“OnXXXX”是指在.NET的任何程序集中“引发事件”,第三方遵循此约定。对我来说,“[控制标识符]\u[事件标识符]”