MicrosoftのWebサイトには、命名ガイドラインがあります( here )。また、フレームワーク設計ガイドラインの本もあります。
私が見つけることができなかったのは、名前付けコントロールに関するガイドラインでした。
たとえば、ボタンをフォームにドロップすると、「button1」などのデフォルト名としてキャメルケースのtypename + numberが取得されます。
これが私がしていることです。番号を削除し、意味のある説明を後に追加します。たとえば、「buttonDelete」または「buttonSave」。
この方法では、コントロールの大きなリストとそれらの略称をどこかのガイドラインに保持する必要はありません。
同意しますか?
そのような慣習はありませんが、名前の「タイプ」の部分を非常に広くしようとしています。例えばボタン、リンクボタン、画像ボタンは「somethingButton」という名前が付けられる傾向があります。コンボボックス、ラジオボタンリストはすべて「somethingSelector」になります。 TextBoxとCalendarは「somethingInput」です。そうすることで、名前が実際の実装に結び付けられていない状態で、それがどのような制御であるかを大まかに把握できます。オプションボタングループをドロップダウンに置き換える場合、名前を変更する必要はありません!
警告:以下は、 WinForm/WPF 開発。 Patrick Petersは、ASP.NETコントロールを扱う際に帯域幅/パフォーマンスの問題があることを正しく指摘しました。
ここには実際に標準はありません。これは、最も任意の命名シナリオの1つであるためだと思います。ほとんどの場合、コントロールはクラスに対してプライベートであり、イベントハンドラーでのみ軽く使用されます。
他の回答者と同様に、私もコントロール名を「修正」するのに重要な時間を費やしていました。 「btnSave」、「tbxName」(TextBoxの場合はtbx)などを実行します。しかし、自分のスキームを他の誰かに説明するとき、それがいかにarbitrary意的であるかを理解しました。 「cbx」はコンボボックスですか、それともチェックボックスですか?
これにより、デザイナーが自動的に行うことを再検討し、デザイナーに作業を任せると、明確に、一貫して、迅速にコントロールに名前を付けることができることに気付きました。実際には、質問ポスターの提案と非常によく似ています。
コントロール番号をコントロールのセマンティクスに置き換えます。したがって、「button1」(デザイナーのデフォルト)は「buttonSave」になり、「listBox3」は「listBoxWidgets」になります。そのタイプのコントロールが1つしかない場合は、単に番号を削除します:「errorProvider1」は「errorProvider」になります。
では、これはどのように改善されていますか?
PS。これは、自転車置き場の質問に向かう傾向がありますが、自転車置き場をペイントできるので、先に進んで議論に参加しました。 ;)
一般的なものを次に示します。
frm Form
mnu Form menu
cmd Command button
chk Check button
opt Radio button
lbl Text label
txt Text edit box
pb Picture box
pic Picture
lst List box
cbo Combo box
tmr Timer
長いリストはINFO:VBのオブジェクトハンガリー語表記の命名規則です。
私はかなり長い間WinFormsをしていませんが、私がしたことは2つのことでした。
基本的に、ほとんどの場合、保存ボタンのメンバーはまったく作成しません。 (保存ロジックがある場合は、ボタンのClickイベントにサブスクライブしているOnSavingイベントハンドラーのみを保持できます)。
https://msdn.Microsoft.com/en-us/library/ms233630(v = vs.110).aspx
はい、それらの名前を変更します
私のために:
Button btnDescription
TextBox txtDescription
ComboBox cboDescription
等...
GUIプログラミングは、あらゆる種類の慣習に関しては短い棒になります。命名に使用するガイドラインについては、私の 別の質問への回答 を参照してください。
私はおそらくハンガリー語の表記法をまだ使用している最後の数人の一人です。 IDEは変数の型を伝えることができるという引数を知っていますが、Notepad ++でコーディングしているときや、印刷物を見ているときには役に立ちません...とにかく、私は使用します「btnSave」、「cbOptions」、「txtFirstName」、「lblTitle」、「ddlCardType」など。 IDEからデータ型を取得する変数。
はい、変数に意味のある識別子が必要です-制御するかどうか-デフォルト名は、IDEが問題のドメインについて何も知らないため、より良い名前を「推測」することができないためです。
はい、私は完全に同意します(ただし、ButtonDeleteに名前を変更します)ので、小文字の名前は私の場合の変数の名前です。
個人的には、あなたが一貫している限り、他の誰かがあなたのコードを読んでいても問題にぶつかることはないと思います。
よくわかりませんが、 Windows Forms のコントロールの命名は ハンガリー語表記 の使用を見ることができる唯一の場所の1つであると思います。だからあなたは良いと思う。
現在の考え方は、名前にコントロールの種類を含めることに眉をひそめると思います。私はそれらを私が使用している別のオブジェクトとして扱い、同じ命名規則に従いたいと思います。
言うまでもなく、意味のある名前付けを使用します:)、しかし、結局のところ、数か月後にコードを再訪したときに命名規則がまだあなたにとって意味があるなら、私はそれを固執するでしょう。