web-dev-qa-db-ja.com

GUIコントロールにどのような名前を付けますか?

ハンガリー語表記 を使用することは一般に悪い習慣と見なされていますが、userNameTextBoxおよびuserNameLabelという名前のGUIコントロールを見つけることは一般的です。

あなたはそれの名前にコントロールタイプを入れますか?これはハンガリー語の表記ではないですか?

12
Jader Dias

あなたが言うように。一般に、ハンガリー語の表記は悪い習慣です。名前をできるだけドメインに近づけたいのですが、これがテキストボックスで、これがラベル )。

特定の状況で依然としてハンガリー語を使用する理由についての彼の非常に合理的な見方については、 別の質問に対するクラミの回答 を参照してください。

すべてのコードと同様に、一貫性と自己評価が重要です。あなたとあなたのチームが、異なるGUIコントロールのラベル付け方法、およびラベルが必要な要素について合意すれば、問題ありません:)

12
phareim

実際には、ハンガリー語の表記法を使用していますが、GUIコントロールにのみ使用します。ラベル、ラジオボタン、リストビューにはlblText、rbGroup1、lvTableなどを使用しています。

とにかく変更される傾向はなく、どの変数がGUIコントロールで何がそうでないかは明らかです。

ただし、バインドの可能性があるWPFを使用しているため、C#プロパティにバインドされているため、名前を付ける必要はありません。

ところで、たまに目にするものをコントロールlvListViewPersonsと呼ぶのを間違えないでください。変数の前にlvが付いている場合、すでにリストビューであることがわかります。

8
Michel Keijzers

私たちのチームは、残りのコードではなく、GUIコントロールにハンガリー語表記を使用しています。

典型的な例、ラベルとそれに続くテキストボックス:

  • lblFirstName
  • txtFirstName

さらに、テキストボックスを簡単に見つけることができます。「txt」と入力するだけで、あとはIntelliSenseが行います。

4
Carra

GUI要素にハンガリー語表記を使用しています。 QtDesignerを閉じたり、Visual Studioを開いたり、usernamepasswordなどの名前のテキストボックスがある場合にボタンにテキストを設定したりするのは本当に大変です。Qtを使用すると、すべてのGUI要素がuiオブジェクト(ui.username)ですが、Windowsフォームを使用すると、usernameという名前のテキストボックスが名前空間のみを膨らませます。

その場合、txtUsernamebtnLoginlblStatusなどが明らかに優れたオプションです。

1
Nemanja Boric

GUIコントロールにハンガリー語の表記を使用することは避けます。「lblFirstName」のようなコントロールに名前を付けることは避けます。なぜなら、それがラベルであることは本当に気にしないからです。データバインディングの観点からは、単にバインドするものです。

名前が必要なコントロールの場合、通常は「ユーザーエクスペリエンス」のプレフィックスuxを追加します。これにより、ユーザーが操作することのみを目的としたアイテムであることが明確になります。たとえば、私のビューモデルにはFirstNameというプロパティがあり、ビューにはuxFirstNameというコントロールがあります。これには、名前付きコントロールがすべてIDEでうまくグループ化されるという追加の利点があります。

1
MattDavey

ハンガリー語の表記は全体的に我慢できないことは承知していますが、それでも多くの場所で非常に役立ちます。 GUIでは、少なくともwndプレフィックスを使用します。

ハンガリー語の表記法を使用しないことの問題は単純です。MSVSの滑らかな海域を離れると、ナビゲーションはノーズダイビングになります。ある種のSomeValue = SomeOtherValueそして、あなたがいまいましいものすべてを調べない限り、何が起こっているのか手がかりはありません。 grepまたは古き良き検索を使用すると、通常、その場で生産性が失われます。QTとMSVS以外のIDEは、ルックアップが本当にうまくいかないのです。

1
Coder