7

コード ビハインド ページで参照できるように、フォームやレポートの UI コントロール (テキスト ボックス、ドロップダウンなど) に名前を付けるためのベスト プラクティスは何ですか?

私は自分のオフィスで多くのレポートとフォームを作成しています。さまざまな複数のデータ ソース (Access、SQL、Oracle) から生成される約 80 以上の「ライブ」レポートを提供する Web アプリケーションがいくつかあります。これらのレポートは「ライブ」と見なされます。フォームからユーザー セット パラメータを受け取り、データベースにクエリを実行して、利用可能な現在の情報に基づいてレポートを生成するためです。

したがって、プロセスは、ユーザーが設定した値を取得することから始まり、それらをデータベース クエリに渡し、データセットを受け取り、最後にデータセットをレポートに割り当てます。場合によっては、レポートを生成する前に、レポートに表示される追加のフィールドをデータセットから計算する必要があります。これには、レポートの出力コントロールを参照して計算値を割り当てる必要があります。

コード内で変数やメンバー フィールドに接頭辞を使用することはあまり気にしませんが、UI コントロールを識別するために接頭辞を使用しています。たとえば、txtFirstName でレポート コントロールを参照し、データセットの FirstName フィールドのデータをレポートの表示コントロールに割り当てます。フォームやレポートの UI コントロールに名前を付けたり参照したりするためのより良い方法はありますか?

4

7 に答える 7

7

私が仕事で取り組んでいる主な製品は、txt_pnl_などのプレフィックスを使用しています。これは機能しますが、名前を変更する必要があるため、コントロールを非表示/表示するだけのもの、たとえばtrをパネルに切り替える場合は少し面倒です。

私が新しいプロジェクトで始めたことは、UIコントロールにuiプレフィックスを付けて名前を付けることです。たとえば、uiNameです。私は反ハンガリアン記法に強く反対し、自己文書化コードを目指しているので、この規則はうまく機能します。実際、どちらかといえば、それは本当のハンガリアン記法です(uiはユーザーインターフェイス制御を意味する接頭辞です)。

于 2008-09-21T20:04:28.157 に答える
7

コントロールにはハンガリアン記法を使用していますが、変数には使用していません。

btn Button
cbo ComboBox
chk CheckBox
clb CheckedListBox
grp GroupBox
iml ImageList
lbl Label
lnk Hyperlink
mnu Menu
pbr ProgressBar
pic Picture
pnl Panel
rtb RichTextBox
tmr Timer
tvw TreeView
txt TextBox
于 2008-09-21T20:28:40.343 に答える
7

GUI コントロールの場合、変数名の末尾にコントロール名を付けます。

  • firstNameTextBox
  • lastNameTextBox
  • 送信ボタン

これにより、たとえば _firstName と firstNameTextBox.Text の間の関係が明確になり、ハンガリー語の表記法が何であるかを覚えておく必要がなくなります。変数の名前付けでは、簡潔さよりも明快さを常に選択します。

于 2008-09-21T21:04:22.987 に答える
3

ここでのあなたの答えは非常に主観的です。好みやプログラミングのバックグラウンドが異なれば、好みも異なります。

おそらく、長期的に最も重要なことは、すべてのプロジェクト間で一貫性を保つことです。そうすれば、誰がコードを開発したかに関係なく、コードを読んだときに理解できるようになります。

私たちは多くを外部委託しているため、命名規則をすべてのプロジェクト マネージャーに伝えてください。

命名規則へのリンクを次に示します。

http://www.irritatedvowel.net/Programming/Standards.aspx

http://msdn.microsoft.com/en-us/library/xzf533w0(VS.71).aspx

http://www.visualize.uk.com/resources/asp-net-standards.asp

于 2008-09-21T19:32:06.377 に答える
1

私もあなたと同じようにします。コントロールがたくさんあると、すべてが面倒になるので、各名前の前にコントロール クラスの大文字を付けます。

例えば:

テキストボックス -> tbName

データグリッド -> dgName

パネル -> pName

これにより、新しいコントロールを処理する方法 (つまり、プレフィックスを取得する方法) が明確になります。

于 2008-09-21T19:36:10.157 に答える
0

プレフィックスの唯一の本当の理由は、同じフォーム/ページにtxtFirstNameとlblFirstNameのようなものを含めることができるようにするためだといつも感じていました。ほとんどの場合、実際には実際のフィールドコントロール自体のみを操作しているため、そのプレフィックスをスキップし、関連するコントロールのプレフィックスのみを使用します。たとえば、lblMonth&Monthは、cboプレフィックスをスキップします。

タイピングを節約でき、そのようなフォームでどのような種類のコントロールを使用しているかは一般的に明らかです。より複雑なコントロールは、完全なプレフィックス処理を取得します。

于 2008-09-21T20:04:59.073 に答える