Was ist die empfohlene Namenskonvention für XAML-Markups?

10

Wie sollte man bei der Arbeit mit WPF oder Silverlight die Namenskonventionen für Steuerelemente verwenden? Benennen Sie die Steuerelemente im XAML-Markup? Ich habe Beispiele von Projekten bei Codeplex mit Kontrollnamen wie "selectButton" oder "btnSelect" gesehen. Was würden Sie empfehlen?

Mamta D.
quelle
1
Welches Schema Sie auch wählen - seien Sie in Ihrer Anwendung konsistent.
ChrisF

Antworten:

8

Microsoft hat hier auf seiner Website Richtlinien veröffentlicht . Das Fazit ist, dass ungarische Namenskonventionen nicht gelten.

BEARBEITEN

Um dies klarer zu machen, hat Microsoft die ungarische Notation aus allen Namenskonventionen einschließlich der UI-Elemente gestrichen. MS hat jedoch keine Empfehlungen für UI-Elemente dokumentiert. Es gibt viele Links, die dies vermerken und ihre Vorschläge machen, aber unter dem Strich sind Sie mit UI-Elementen auf sich allein gestellt. Beispiel Link .

In unserem Standard haben wir die ungarische Notation entfernt und verwenden explizite Namen, was bedeutet, dass eine Schaltfläche mit dem Namen OK ButtonOK heißt, ein Textblock mit dem Namen Comments TextblockComments. Der Nachteil ist, dass Namen ziemlich lang werden können. Das Positive ist, dass JEDER genau weiß, was das Element ist.

Solange Sie festlegen, was für Sie funktioniert, und diesen Standard konsequent anwenden, können Sie nichts falsch machen.

Walter
quelle
2
Dies sind Richtlinien zum Benennen von Mitgliedern in Bibliotheken, nicht von UI-Elementen.
Robert Harvey
@ Robert - guter Punkt. Ich hatte nicht bemerkt, dass ihre Richtlinie UI-Elemente ausschloss. Ich werde meine Antwort bearbeiten.
Walter
4

Normalerweise benenne ich meine Steuerelemente nicht in XAML, da dies meistens nicht verwendet wird, wenn man bedenkt, dass alles über Bindungen festgelegt oder gesteuert wird. Quelle: Pete Brown

Matthieu
quelle
Der gleiche Artikel besagt, dass Sie ohnehin alle Ihre Dateneingabeelemente (Textfelder, Kontrollkästchen, Combos) benennen müssen, da auf sie an anderer Stelle verwiesen wird (z. B. auf einen Datenspeicher). Die Chrome-Elemente (Linien, Formen usw.) müssen nicht benannt werden, und es ist schön, dass XAML Sie nicht dazu zwingt.
Robert Harvey
@ Robert Harvey: Aus dem Artikel: "Interaktive UI-Steuerelemente wie TextBoxen, ListBoxen, Schaltflächen usw. Sie können davonkommen, ohne diese zu benennen, wenn Sie Befehle / Verhaltensweisen und ein gutes Muster wie MVVM verwenden, aber ich finde, dass das Benennen von a hilfreich ist Dokumentationsstandpunkt. Keine Anforderung, aber hilfreich. " Da ich mich für MVVM entschieden habe und mein xaml nicht an einen Designer für Mischarbeiten weitergeben muss, hatte ich keine Verwendung für diese Namen gefunden. Da meine Kontrollen wirklich einfach sind, wäre die Dokumentation dieser Namen übertrieben. Aber ich stimme zu, dass es auf einer komplexeren Benutzeroberfläche anders sein könnte.
Matthieu
Ich benutze MVVM und benenne meine Steuerelemente selten. Es ist ziemlich offensichtlich, was sie im Kontext und mit dem VS-Designer sind. Gelegentlich werde ich einen Kommentar in die XAML einfügen.
M. Dudley
2

Ich weiß nichts über XAML, aber für normales altes ASP.NET habe ich folgende Konventionen gesehen:

  1. Guter alter Ungar (zB txtFirstName, ddlState, chkAcceptsTerms)
  2. Explizite Benennung (z. B. TextFirstName, DropdownState, CheckAcceptsTerms)

Ich bin mir ehrlich gesagt nicht sicher, was ich bevorzuge. Früher habe ich viel Code wie # 2 gesehen, aber umgekehrt (z. B. FirstNameTex, StateDropdown, AcceptsTermsCheck), aber ich mag den anderen Weg, da er verwandte Steuerelemente zusammenfasst.

Wayne Molina
quelle