クリックイベント(c#/。Net)のあるフォームにボタンオブジェクトがあるとします。イベントハンドラーは通常、業界全体でどのように命名されていますか?
(またはハンガリー語が好きな場合)
Visual Studioがイベントハンドラーを作成すると、デフォルトでアンダースコア+ EventNameになります。これは、単語をアンダースコアで区切る代わりに、camelCasingとUppderCamelCasingを使用するという規範に違反しているようです。
それを変更する理由はありますか、それともVisual Studioの機能に従うすべての人がいますか?
メソッド(およびイベントハンドラー)名にアンダースコアを付けることを禁止する、十分にレビューされたコーディングガイドラインと標準を使用しています。また、メソッド名にはPascalCaseを使用しています。
イベントハンドラーに名前を付けるもう1つの方法は、時間に対応した名前を付けることです。たとえば、「Click」イベントの場合-> Click *ed*。これは、イベントがすでに発生しており、残りを処理する必要があることを示しています。この名前をより時間を認識させるために、Onプレフィックスが使用されています。最後になりましたが、名前内のイベントオブジェクトを示していますOn *CancelButton* Clicked
OnCancelButtonClicked
が私の選択です。
PS:イベントハンドラーのアンダースコアは、おそらくVisual Basic(Classic)からVisualStudioに由来します。
VSのデフォルトが使われているところ、ある種の異なる標準に変更されているところ、そして個々の開発者が好むところまであるところがあると思います。 「業界の規範」を見つけることを期待しないでください。コーディング標準をどの程度厳密にするかについてチームとのコンセンサスを見つけ、厳密にする場合は、コードがどのように表示されるかについて合意を見つけてください。
答えは、MSDNの クラスライブラリ開発者向けの言語規則 にあります。
つまり、イベントは他のすべてのようにPascalCaseである必要があります。例外はパラメータと保護されたフィールドインスタンスであり、それだけです。
あなたの例に基づいて、イベントソースがFooClick
の場合、名前はFooButtonClick
またはFooButton
になります。
この仕様は、開発者にハンガリアン記法をまったく使用しないようにアドバイスしています。
FooButtonClick.
すべてのメソッド名、クラス名、およびプロパティを大文字で開始します。
ただし、どちらを選択するかは、選択と一致している必要があります。それは私が与えることができる最高のアドバイスです。