2009-05-27 7 views
2

Ich habe aufgehört, die ungarische Notation überall zu verwenden, außer in der UI, wo ich oft eine Benutzernamenetikette, ein Textfeld für Benutzernamen, eine lokale Variable für den Benutzernamen, einen erforderlichen Feldvalidierer, eine Benutzernameeigenschaft und einen Methodenparameter usw. oft alle im selben Kontext.Benennungshinweise zum Ersetzen/Vermeiden von ungarischen Notationen in UI?

Strom: lblUser, txtUser, rfvUser, _User, Benutzer, Benutzer

Wenn ich das Offensichtliche tun, Gebrauchskenn-, UserTextBox, UserRequiredFieldValidator, scheint es, wie ich bin nur mehr Suffixe für kürzeren Präfixe substiuting.

Und das _ für die Angabe Feld, wird von FxCop gekennzeichnet, aber ohne ein Präfix würde es mit der genehmigten Benutzer/Benutzer-Konvention kollidieren.

Irgendwelche Vorschläge?

Antwort

4

Ich benutze immer noch ungarische Notation für UI-Objekte, da ich finde, dass es meinen Code lesbarer macht.

Ich würde Dinge wie m_firstNameTextBox oder m_countryComboBox für die UI-Steuerelemente und dann m_firstName und m_country für die Zeichenfolge Werte von diesen Steuerelementen verwenden.

Am Ende des Tages sollten Sie verwenden, was Sie bevorzugen. Die pauschale Regel, die ungarische Notation zu vermeiden, ist genauso schlecht wie die, die den religiösen Gebrauch vorschreibt. Es ist offensichtlich, dass Dinge wie intCounter, strName übertrieben sind, aber in anderen Fällen macht es Sinn, den Typ der Klasse im Variablennamen anzugeben, und meiner Meinung nach ist die UI-Steuerung einer der Fälle, in dem sie sinnvoll ist.

1

Ich bevorzuge Ungarisch, obwohl es zu wirklich langen Namen in der Benutzeroberfläche führt (wegen des Problems, das Sie in Frage erwähnt). Mein einziger Vorschlag ist es, im gesamten Team einheitlich zu sein.

2

Es gibt nichts Falsches an der ungarischen Notation, solange es benutzt wird, um Code lesbarer zu machen. Wenn Sie denken, dass es dazu nicht beiträgt, dann verwenden Sie es nicht.

Ah, und benutzen Sie bitte nicht beide 'Benutzer' und 'Benutzer'. Es ist schwierig zu lesen, zu verwenden, zu pflegen und zu portieren. Wenn zwei verschiedene Dinge zwei verschiedene Bedeutungen haben, dann ist die ungarische Notation eine bessere Option, als diese Information zu kodieren, indem man Zeichen zwischen Groß- und Kleinschreibung umdreht.

Ich weiß nicht, wer die Groß-/Kleinschreibung in Programmsprachen erfunden hat, aber er hat mehr Schaden angerichtet, als sich jemand damals hätte vorstellen können. Ich hasse es Compiler-Fehler, weil ich getippt ‚ID‘ anstelle von ‚Id‘ oder ‚usbdrive‘, wenn es sollte ‚usbdrive‘ ist.

+1

Ich denke, Groß-/Kleinschreibung wurde nicht so sehr erfunden, sondern einfach per Default, da sie rechnerisch ein wenig billiger ist (zumindest auf einem ASCII-System). Ich habe den Eindruck, dass neuere und höhere Sprachen für Kennungen eher keine Groß- und Kleinschreibung beachten. – cheduardo

+0

Ja, es ist leichter zu vergleichen, wenn die Zeichen genau gleich sind. Erlaube mir nicht einmal, über den Unicode-Quellcode zu sprechen. Es ist eine Schlampe zu lesen, und ich weiß nicht einmal, wie man die meisten Zeichen eintippt. –

+0

Nun, das ist nicht wirklich wahr, es ist möglich, dass ein Textfeld in eine Combobox geändert wird und eine Person den Namen des Steuerelements vergessen oder nicht ändern kann. Making txtWas sehr irreführend. – VoronoiPotato

1

Verwenden Sie alle Klein- und Unterstriche, und das Problem tritt nicht mehr auf. SomeIdiotSomewhereDecidedThisWasAGoodWayToDoThingsAndIfIFindHimIWillKillHim.

+0

Ich würde einmal zugestimmt haben, aber drei Jahre Codierung irgendwo, dass die Variable VariableName und TypeName beauftragt sind, hat meine Meinung geändert. – CJBrew