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


12

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

名前にコントロールタイプを入れますか?これは一種のハンガリー記法ではありませんか?


鉱山全体ではWPFでは必要ないため、名前はありません
jk。

回答:


12

あなたが言うように。一般に、ハンガリーの表記法は悪い習慣です。私は自分の名前をできる限りドメインの近くに置いておくのが好きですが、時々あなたが言いたいのは、これがテキストボックスであり、これがラベルだということです

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

すべてのコードと同様に、一貫性と自己評価が重要です。あなたとあなたのチームが、異なるGUIコントロールがどのようにラベル付けされるか、どの要素がラベルを必要とするかについて同意するなら、あなたは大丈夫です:)


8

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

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

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

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


3
これに同意します。GUIコントロールは、ハンガリーの表記法が基本的な罪ではない唯一の場所です(もちろんIMO)
ウェインモリナ

4

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

典型的な例、ラベルの後にテキストボックスが続きます:

  • lblFirstName
  • txtFirstName

さらに、テキストボックスを見つけやすくなり、「txt」と入力するだけで、あとはインテリセンスが処理します。


1

GUI要素にはハンガリー語表記を使用しています。それは本当にあなたがQtDesigner、オープンのVisual Studioを閉じて、あなたはテキストボックスに名前の持っている場合は、ボタンのセットテキストにしたいときときの痛みでusernamepasswordすべてのGUI要素が内にラップされているので、あなたはQtのを使用する場合など、それは大きな問題ではないuiオブジェクト(ui.username)、しかし、Windows Formsを使用すると、usernameという名前のテキストボックスのみが名前空間を膨張させます。

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


1

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

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


3
uxプレフィックス自体はハンガリー語表記ではありませんか?;-)タイプを意味していないを示しているが、ハンガリーのまだ形たぶん他の種類(私は2つの名前を忘れてしまった)
ウェイン・モリーナ

あなたが言及しapps hungarianているのとは対照的だと思いますsystems hungarian。ハンガリーのアプリはシステムほど有害ではないと考えられますが、「ux」の意味はアプリと見なすには高すぎる可能性があると思います。ハンガリー

1

全体的にハンガリーの表記に耐えられないことは知っていますが、それでも多くの場所で非常に便利だと感じています。GUIでは、少なくともwndプレフィックスを使用します。

ハンガリー語表記を使用しないという問題は簡単です。MSVSの滑らかな水域を離れると、ナビゲーションは急降下します。あなたはある種のものを見ます、SomeValue = SomeOtherValueそしてあなたがすべてのいまいましいものを調べない限り、あなたは何が起こっているのか見当もつかない。通常、生産性を損ねるgrepまたは古き良き検索を介して、QTおよびMSVS以外のIDEは検索が非常に苦手です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.