Wenn Sie Getter und Setter verwenden, wie sollten Sie die privaten Membervariablen nennen?

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

  •  05-07-2019
  •  | 
  •  

Andere Tipps

Ich mag prefixing Felder mit einem Unterstrich, wie andere schon erwähnt haben.

private int _x;

Ich denke, das jenseits gerade persönliche Präferenz geht aber (wie David Arno in diesem Thread gesagt). Ich denke, es gibt einige echte objektive Gründe, dies zu tun:

  1. Es bedeutet, dass Sie vermeiden, dass schreiben "this.x = x" für Aufgaben (vor allem in Setter und Konstrukteure).
  2. Sie unterscheidet Ihre Felder von Ihrem lokalen Variablen / Argumente. Es ist wichtig, dies zu tun: Felder heikler sind als Einheimische zu handhaben, da eine größere Tragweite / Lebensdauer länger ist. Hinzufügen in dem zusätzlichen Zeichen wird ein bisschen eine mentalen Warnzeichen für Programmierer.
  3. In einigen IDEs, führt dazu, dass der Unterstrich die automatische Vervollständigung, die Felder oben auf der Vorschlagsliste zu sortieren. Dies erleichtert es, alle Felder für die Klasse in einem Block zu sehen. Dies wiederum kann hilfreich sein; auf große Klassen können, sehen Sie in der Lage, um die Felder (in der Regel an der Spitze der Klasse definiert) auf dem gleichen Bildschirm wie der Code nicht, dass Sie gerade arbeiten. sie an die Spitze gibt eine praktische Referenz zu sortieren.

(Diese Konventionen sind für Java, aber ähnliche existieren für andere Sprachen)

Diese Dinge scheinen klein, aber ihre Verbreitung auf jeden Fall macht mein Leben einfacher, wenn ich Codierung.

In Java gibt es this.foo in Python gibt es self.foo und andere Sprachen haben ähnliche Dinge, so sehe ich nicht ein Bedürfnis nach etwas in besonderer Weise zu benennen, wenn ich bereits ein Sprachkonstrukt verwenden kann. Im gleichen Zusammenhang gute IDEs und Editoren verstehen Membervariablen und ihnen ein besonderes Highlight geben, so dass Sie es wirklich sehen w / o mit speziellen Namen.

In einem Fall sensible Sprache, die ich gerade verwenden:

private int myValue;

public int MyValue
{
    get { return myValue; }
}

Ansonsten würde ich einen Unterstrich verwenden

Private _myValue As Integer

Public ReadOnly Property MyValue As Integer
    Get
        Return _myValue
    End Get
End Property

Es gibt fast so viele verschiedene Möglichkeiten, dies zu tun, da es Programmierer dies zu tun, aber einige der beliebtesten Möglichkeiten, umfassen (für eine Eigenschaft Foo):

  • mFoo
  • m_foo
  • _foo
  • foo

I wie writing "this.x = x". Es ist sehr klar für mich. Plus, wenn Eclipse, können Sie es automatisch Ihre Getter / Setter diese Art und Weise erzeugen.

scroll top