コードビハインドで参照するための UI コントロールの命名規則のベスト プラクティスは何ですか?

StackOverflow https://stackoverflow.com/questions/111812

  •  02-07-2019
  •  | 
  •  

質問

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

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

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

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

役に立ちましたか?

解決

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

新しいプロジェクトで私がやり始めたことは、UI コントロールに ui 接頭辞を付けて名前を付けることです。たとえば、uiName。私は大反対なので、 反ハンガリー表記, 、そして努力する 自己文書化されたコード, 、この規則はうまく機能します。実際、どちらかといえば、それは 本物 ハンガリー語表記 (ui はユーザー インターフェイス コントロールを意味する接頭辞です)。

他のヒント

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

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

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

  • 名テキストボックス
  • 姓テキストボックス
  • 送信ボタン

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

ここでの回答は非常に主観的なものになります。好みやプログラミングの背景が異なれば、好みも異なります。

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

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

命名規則へのリンクをいくつか示します。

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

私もあなたと同じようにします。コントロールが大量にあるとすべてが煩雑になるため、各名前の前にコントロール クラスの大文字を付けます。

例えば:

テキストボックス -> tbName

データグリッド -> dgName

パネル -> pName

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

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

これにより入力の手間が省け、そのようなフォームでどのような種類のコントロールを使用しているかが通常は明らかになります。より複雑なコントロールには、完全なプレフィックス処理が適用されます。

私が好む iOS UI コンポーネントの 2 文字の接頭辞:

bt_ : UIButton
lb_ : UILabel
tx_ : UITextField
tv_ : UITextView
vw_ : UIView
im_ : UIImageView
sc_ : UIScrollView
tb_ : UITableView
cl_ : UICollectionView
st_ : UIStackView
pk_ : UIPickerView
pr_ : UIProgressView
ai_ : UIActivityIndicatorView
wb_ : UIWebView / WKWebView
mp_ : MKMapView
gr_ : UIGestureRecognizer
sw_ : UISwitch
sl_ : UISlider
sp_ : UIStepper
sg_ : UISegmentedControl
pg_ : UIPageControl
dp_ : UIDatePicker

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top