Laden...

Namensgebung Felder und Eigenschaften

Erstellt von Golo Roden vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.730 Views
Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 16 Jahren
Namensgebung Felder und Eigenschaften

Hallo,

eigentlich ist es ja gängig, folgende Benennung vorzunehmen:

public class Foo
{
  protected string _bar;

  public string Bar
  {
    get { return this._bar; }
    set { this._bar = value; }
  }
}

Alternativ gibt es häufig auch:

public class Foo
{
  protected string _bar;

  public string Bar
  {
    get { return this._bar; }
    set { this._bar = value; }
  }
}

Wie ich nun gerade festgestellt habe, bemängelt FxCop beide Varianten als nicht ClsCompliant ... nach welchem Schema soll man denn dann bitte gehen?

Viele Grüße,

Golo

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

476 Beiträge seit 2004
vor 16 Jahren

hallo Golo,

wo ist denn der Unterschied zwischen Listing1 und Listing2?

Ich würde _bar private deklarieren...

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

5.941 Beiträge seit 2005
vor 16 Jahren

Hallo zusammen

Original von Yellow
wo ist denn der Unterschied zwischen Listing1 und Listing2?

Ich sehe auch keinen Unterschied.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 16 Jahren

Okay okay ... manchmal sollte ich ein bissel langsamer schreiben ...

Eigentlich sollte in einem der beiden Listings der Underscore fehlen, irgendwie habe ich das vergessen ...

Hat sich aber eh erledigt, weil ich die Lösung schon gefunden habe ... das Feld private machen, und die Eigenschaft protected ...

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

Golo Roden Themenstarter:in
4.207 Beiträge seit 2003
vor 16 Jahren
Namensgebung Felder und Parameter

Okay, doch noch mal eine Frage zum Thema Namensgebung. Folgender Code:

public class Foo
{
  private int bar;

  public void Method(int bar)
  {
    this.bar = bar;
  }
}

Da meckert FxCop, dass ein Parameter und ein Feld gleich heißen ... man solle doch bitte eines davon umbenennen. Bloß - wie? Ich meine, beides bezieht sich doch semantisch auf das gleiche? Gibt es da irgendwelche Empfehlungen?

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

5.941 Beiträge seit 2005
vor 16 Jahren

Hallo Golo

Ich würde sagen, das passt so:

public class Foo
{
  private int _bar;

  public void Method(int bar)
  {
    this._bar = bar;
  }
}

oder so:


public class Foo
{
  private int _bar;

  public void Method(int bar)
  {
    _bar = bar;
  }
} 

Obwohl das nur aus Schönheitsgründen angegraut wird~
this.bar und bar sind ohne Probleme auseinander zu halten.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011