4 Stimmen

In welcher Reihenfolge sollte ich Eigenschaften, Ereignisse, Funktionen, Funktionsüberschreibungen usw. in C#-Klassen platzieren?

Beim Erstellen einer neuen C#-Klasse bin ich mir nicht sicher, in welcher logischen Reihenfolge Eigenschaften, Event-Delegate, Funktionen, Funktionsüberschreibungen usw. deklariert werden sollten und welche Überlegungen bei der Entscheidung über diese Reihenfolge berücksichtigt werden sollten.

Normalerweise platziere ich Dinge in folgender Reihenfolge, wenn ich die Codebehind-Klasse eines WebUserControl erstelle:

  1. Events
  2. Eigenschaften
  3. Lebenszyklus-Ereignisüberschreibungs-Funktionen
  4. Andere Funktionen

Gibt es eine logischere Möglichkeit, dies zu tun, und welche Überlegungen sollte ich bei der Entscheidung über die Reihenfolge dieser Elemente der Klasse innerhalb der Klassendatei berücksichtigen?

7voto

CSharpAtl Punkte 7190

Macht keinen Unterschied für die Kompilierung, es könnte sinnvoll sein, die Abschnitte in #region zu umschließen, um es für jemanden, der Ihren Code liest, einfacher zu machen, zu wissen, wo sie sind, und sie organisiert zu halten. Es sollte wahrscheinlich ein Codierungsstandard für Ihr Unternehmen sein, damit alle Codes ähnlich organisiert sind und weniger frustrierend aussehen...

4voto

BobbyShaftoe Punkte 27949

Dies ist eine Stilpräferenz. Viele Leute machen folgendes:

  1. Eigenschaften
  2. Überschreibungen
  3. Weitere Funktionen
  4. Ereignisse

Einige Leute trennen diese auch mit #regions.

4voto

Chris Punkte 3970

Was auch immer StyleCop mir sagt. :)

3voto

Paddy Punkte 32391

Gehen Sie einfach nach dem, was für Sie Sinn macht oder in Ihren Codierungsstandards vorhanden ist. Solange es konsistent ist, spielt es keine Rolle...

3voto

Bob Punkte 93584

Ich glaube nicht, dass die Reihenfolge wichtig ist, solange du konsistent mit deinem Stil bleibst. Überlege den Einsatz von Regionen, aber übertreibe es nicht damit. Als Faustregel vermeide ich alle verschachtelten Regionen. Das ist einfach zu viel versteckter Code.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X