ハンガリー語表記 を使用することは一般に悪い習慣と見なされていますが、userNameTextBox
およびuserNameLabel
という名前のGUIコントロールを見つけることは一般的です。
あなたはそれの名前にコントロールタイプを入れますか?これはハンガリー語の表記ではないですか?
あなたが言うように。一般に、ハンガリー語の表記は悪い習慣です。名前をできるだけドメインに近づけたいのですが、これがテキストボックスで、これがラベル )。
特定の状況で依然としてハンガリー語を使用する理由についての彼の非常に合理的な見方については、 別の質問に対するクラミの回答 を参照してください。
すべてのコードと同様に、一貫性と自己評価が重要です。あなたとあなたのチームが、異なるGUIコントロールのラベル付け方法、およびラベルが必要な要素について合意すれば、問題ありません:)
実際には、ハンガリー語の表記法を使用していますが、GUIコントロールにのみ使用します。ラベル、ラジオボタン、リストビューにはlblText、rbGroup1、lvTableなどを使用しています。
とにかく変更される傾向はなく、どの変数がGUIコントロールで何がそうでないかは明らかです。
ただし、バインドの可能性があるWPFを使用しているため、C#プロパティにバインドされているため、名前を付ける必要はありません。
ところで、たまに目にするものをコントロールlvListViewPersonsと呼ぶのを間違えないでください。変数の前にlvが付いている場合、すでにリストビューであることがわかります。
私たちのチームは、残りのコードではなく、GUIコントロールにハンガリー語表記を使用しています。
典型的な例、ラベルとそれに続くテキストボックス:
さらに、テキストボックスを簡単に見つけることができます。「txt」と入力するだけで、あとはIntelliSenseが行います。
GUI要素にハンガリー語表記を使用しています。 QtDesignerを閉じたり、Visual Studioを開いたり、username
、password
などの名前のテキストボックスがある場合にボタンにテキストを設定したりするのは本当に大変です。Qtを使用すると、すべてのGUI要素がui
オブジェクト(ui.username
)ですが、Windowsフォームを使用すると、usernameという名前のテキストボックスが名前空間のみを膨らませます。
その場合、txtUsername
、btnLogin
、lblStatus
などが明らかに優れたオプションです。
GUIコントロールにハンガリー語の表記を使用することは避けます。「lblFirstName」のようなコントロールに名前を付けることは避けます。なぜなら、それがラベルであることは本当に気にしないからです。データバインディングの観点からは、単にバインドするものです。
名前が必要なコントロールの場合、通常は「ユーザーエクスペリエンス」のプレフィックスux
を追加します。これにより、ユーザーが操作することのみを目的としたアイテムであることが明確になります。たとえば、私のビューモデルにはFirstName
というプロパティがあり、ビューにはuxFirstName
というコントロールがあります。これには、名前付きコントロールがすべてIDEでうまくグループ化されるという追加の利点があります。
ハンガリー語の表記は全体的に我慢できないことは承知していますが、それでも多くの場所で非常に役立ちます。 GUIでは、少なくともwndプレフィックスを使用します。
ハンガリー語の表記法を使用しないことの問題は単純です。MSVSの滑らかな海域を離れると、ナビゲーションはノーズダイビングになります。ある種のSomeValue = SomeOtherValue
そして、あなたがいまいましいものすべてを調べない限り、何が起こっているのか手がかりはありません。 grepまたは古き良き検索を使用すると、通常、その場で生産性が失われます。QTとMSVS以外のIDEは、ルックアップが本当にうまくいかないのです。