Wie benennen Sie Ihre GUI-Steuerelemente?


Antworten:


12

Wie du es sagst. Im Allgemeinen ist die ungarische Notation eine schlechte Praxis. Ich möchte meine Namen so nah wie möglich an der Domain halten, aber manchmal versuchen Sie zu sagen, dass dies das Textfeld und das Etikett ist .

Schauen Sie sich Kramis Antwort auf eine andere Frage an, um herauszufinden , warum er in bestimmten Situationen immer noch Ungarisch spricht.

Wie bei jedem Code ist Konsistenz und Selbstbewertung der Schlüssel. Wenn Sie und Ihr Team sich darüber einig sind, wie verschiedene GUI-Steuerelemente beschriftet sind und welche Elemente beschriftet werden müssen, ist das in Ordnung :)


8

Eigentlich benutze ich die ungarische Notation, nur für GUI-Steuerelemente. Ich benutze so etwas wie lblText, rbGroup1, lvTable usw. für Beschriftungen, Optionsfelder und Listenansichten.

Sie ändern sich sowieso nie und es ist klar, welche Variable ein GUI-Steuerelement ist und welche nicht.

Da ich jedoch WPF mit Bindungsmöglichkeiten verwende, ist es nicht mehr notwendig, diese überhaupt zu benennen, da es an eine C # -Eigenschaft gebunden ist.

Übrigens, machen Sie nicht den Fehler, ein Steuerelement lvListViewPersons zu nennen, was ich gelegentlich sehe. Wenn einer Variablen das Präfix lv vorangestellt ist, können Sie sehen, dass es sich bereits um eine Listenansicht handelt.


3
Stimme dem zu. GUI-Steuerelemente sind der einzige Ort, an dem die ungarische Notation keine Hauptsünde ist (IMO natürlich)
Wayne Molina

4

Unser Team verwendet die ungarische Notation für GUI-Steuerelemente, nicht für den Rest des Codes.

Typisches Beispiel, eine Beschriftung gefolgt von einem Textfeld:

  • lblFirstName
  • txtFirstName

Außerdem ist es so einfach, Ihre Textbox zu finden. Geben Sie einfach "txt" ein und Intellisense erledigt den Rest.


1

Ich benutze die ungarische Notation für GUI-Elemente. Es ist wirklich der Schmerz, wenn Sie QtDesigner schließen, Visual Studio öffnen und wenn Sie Text auf die Schaltfläche setzen möchten, wenn Sie einen Textboxnamen usernamehaben password, usw. Wenn Sie Qt verwenden, ist dies kein großes Problem, da alle GUI-Elemente in ein uiObjekt eingeschlossen sind ( ui.username), aber wenn ich Windows Forms verwende, bläht das Textfeld mit dem Namen Benutzername nur den Namespace auf.

In diesem Fall txtUsername, btnLogin, lblStatusetc. sind deutlich bessere Möglichkeiten.


1

Ich vermeide die Verwendung der ungarischen Notation für GUI-Steuerelemente. Ich würde es vermeiden, ein Steuerelement wie "lblFirstName" zu benennen, da es mir eigentlich egal ist, dass es sich um ein Etikett handelt. Aus Sicht der Datenbindung ist es nur etwas zu binden.

Für Steuerelemente, die einen Namen benötigen, füge ich normalerweise das Präfix uxfür "Benutzererfahrung" hinzu. Dies macht deutlich, dass das Objekt nur für den Benutzer zur Interaktion vorgesehen ist. In meinem Ansichtsmodell wird möglicherweise eine Eigenschaft FirstNameund in der Ansicht ein Steuerelement aufgerufen uxFirstName. Dies hat den zusätzlichen Vorteil, dass alle meine benannten Steuerelemente in meiner IDE gut gruppiert sind.


3
Ist das uxPräfix nicht selbst Ungarische Notation? Vielleicht die andere Art (ich vergesse die Namen der beiden), die anzeigt, Bedeutung und nicht Typ, aber immer noch eine Form von Ungarisch ;-)
Wayne Molina

Ich denke, Sie beziehen sich auf apps hungarianim Gegensatz zu systems hungarian. Apps ungarisch ist nicht annähernd so schädlich wie Systeme, aber ich denke, die Bedeutung von'ux 'könnte zu hoch sein, um überhaupt als Apps betrachtet zu werden. Ich denke, Sie könnten es als ungarisch oder so bezeichnen :)
MattDavey

1

Ich weiß, dass die Leute die ungarische Notation insgesamt nicht ausstehen können, aber ich finde sie an vielen Orten immer noch sehr nützlich. Für GUI benutze ich mindestens wnd Präfix.

Das Problem, die ungarische Notation nicht zu verwenden, ist einfach: Sobald Sie das glatte Wasser von MSVS verlassen, macht die Navigation einen Nasentauchgang. Sie sehen eine Art von SomeValue = SomeOtherValueund Sie haben keine Ahnung, was los ist, wenn Sie nicht jedes verdammte Ding nachschlagen. Über grep oder gute alte Suche, die in der Regel die Produktivität genau dort tötet, sind andere IDEs als QT und MSVS wirklich schlecht bei Lookups.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.