2012-07-30 13 views
7

Ich fragte mich, wie jemand das Mitgliedsfeld benennen würde, das mit Initialen statt mit Wörtern anfing.Namenskonvention für Elementvariablen mit Initialen

public class MyClass { 

    // I know this is how it is for a member field with words. 
    private String myString; 

    // What about this String? It is representing the term "RV Scale" which is 
    // short for "Reclose Volts Scale." 
    private String RVScale; 

} 

Ich weiß, dass ich nur private String recloseVoltsScale verwenden könnte, aber ich würde es eher RVScale halten. Wenn jemand weiß, ob es rVScale oder RVScale oder etwas anderes sein sollte, würde ich die Info schätzen.

EDIT:

Auch, was über ein Mitglied Feld wie folgt ...

private int RV; 
+12

Ich würde 'rvScale' verwenden. –

+3

Aus persönlicher Erfahrung würde ich RV nicht abkürzen, es sei denn, Sie sind absolut sicher, dass jeder Entwickler von hier bis zum Ende der Lebensdauer Ihrer Software weiß, wofür sie steht. Das Aussprechen verbessert die Lesbarkeit und Dokumentation. –

+2

Ich stimme @JoachimSauer zu. 'RVScale' sieht aus wie eine Klasse. – Hassan

Antwort

4

per java Namenskonvention Mitglied Feld mit Mixedcase beginnen sollte, so sollte es sein rvScale und Mitglied Feld wie RV sollte wie private int rv; sein

Verwenden Sie den richtigen Briefkasten ist der Schlüssel um einer Namenskonvention zu folgen:

Kleinbuchstaben ist, wo alle Buchstaben in einem Wort ohne Großschreibung geschrieben werden (z. B. während, wenn, mein Paket).

Großschreibung ist, wo alle Buchstaben in einem Wort in Großbuchstaben geschrieben sind. Wenn mehr als zwei Wörter im Namen vorhanden sind, verwenden Sie Unterstriche, um sie zu trennen (z. B. MAX_HOURS, FIRST_DAY_OF_WEEK).

CamelCase (auch bekannt als Upper CamelCase) ist, wo jedes neue Wort mit einem Großbuchstaben beginnt (z. B. CamelCase, CustomerAccount, PlayingCard).

Misch Fall (auch als untere Camelcase bekannt) ist die gleiche wie Camelcase außer dem ersten Buchstaben des Namens in Kleinbuchstaben (z.B. hasChildren, customerFirstName, customerLastName).

+0

Was ist mit dem Feld von der Bearbeitung? nur die Initialen – JuiCe

+0

@JuiCe sollten privat int rv sein; –

+0

@JuiCe In Übereinstimmung mit 'rvScale' scheint' rv' OK IMHO. – jelies

2

Sie sollten es buchstabieren.

Das sagte, ich würde es behalten rvScale.

Denken Sie daran, dass der einzige, der NICHT verwendet werden sollte, ist rVScale, da dies einige Verwirrung mit Introspektion verursachen kann.

würde Dieser Fall erzeugt Getter und Setter namens getRVScale und setRVScale, aber Selbstbeobachtung mit Bohnen die Eigenschaft mit diesem verbunden zu finden, würde nach einer Immobilie suchen RVScale benannt, die es nicht gibt. Dies ist aufgrund der Tatsache, dass bei der Suche nach der entsprechenden Eigenschaft, der erste Buchstabe nach dem Get/Set ist niedriger verkleidet, es sei denn, es gibt zwei benachbarte Buchstaben in Großbuchstaben (RV), in diesem Fall wird der Name belassen wie es ist, Herstellung von RVScale.

Wie hier erklärt:

Javabean convention - method naming for property gId

1

keine Abkürzungen verwenden Sie, wenn Sie brauchen. Selbst wenn sie privat sind (oder vielleicht weil sie es sind), benennen Sie die Variablen klar genug. Wenn potentieller Codeleser rv nicht als Abkürzung von "Reclose Volt" versteht, benutze keine Abkürzung.Wenn Sie einen Hinweis angeben müssen, ist es eigentlich eine Abkürzung, Sie weisen darauf hin, dass er sie irgendwo nachschlagen sollte, was das bedeutet. Wo wird er es finden? Wenn es im Kommentar steht, haben Sie einen falschen Namen des Mitglieds, da Sie erklären müssen, was der Name bedeutet. Es sei denn, Sie bewerben sich über Reclose Volt. Ich schlage vor, Java Conventions zu folgen, da sie Grund haben, zu erscheinen.

+0

Danke für Ihre Eingabe. Nur ein Vorschlag, versuchen Sie Ihre Antworten in einer freundlicheren Weise zu gestalten, die dem OP und allen zukünftigen Lesern helfen wird, die Frage besser zu verstehen. Natürlich verstehen Sie das Problem, aber Ihre Art, die Antwort zu präsentieren, führt mich dazu, Ihre Antwort nicht als Antwort auszuwählen. Die anderen zwei Antworten, die hier gepostet werden, sind viel klarer. – JuiCe

+0

Danke, ich werde es versuchen. Ich bin jedoch nicht sehr geschickt in der Sprache. Vielleicht bin ich unfreundlich als Teil meiner Person. Ich habe sowieso nicht versucht, den Camelcase zu erklären, da ich schon davon gehört hatte. Harmeets Antwort ist sowieso viel besser als meine. Trotzdem werde ich versuchen, in Zukunft mehr zu beraten und weniger Vorträge zu halten. – Pihhan