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?

3voto

Stefan Steinegger Punkte 62197

Konsistenz ist wichtiger als eine bestimmte Ordnung.

Persönlich finde ich es gut, Mitglieder schnell nach Sichtbarkeit zu finden:

  • public
  • protected
  • private

Als Benutzer der Klasse benötigen Sie normalerweise nur die öffentliche Schnittstelle, wenn Sie ableiten, benötigen Sie auch die geschützte Schnittstelle, nur wenn Sie die Klasse selbst ändern, müssen Sie sich die privaten Dinge ansehen.

3voto

Philip Wallace Punkte 7587

Solange Sie in Ihrem Entwicklungsteam einen standardisierten Stil haben, ist es egal, was für Sie funktioniert. Wenn Sie Visual Studio verwenden, wird es mit dem Klassen-Viewer und dem Member-Dropdown-Menü sogar noch irrelevanter. Schauen Sie sich das Regionerate Add-In an - es bietet Ihnen die Möglichkeit, die Elemente nach Typ oder alphabetisch zu sortieren und auch Regionen nach Typ, Sichtbarkeit usw. hinzuzufügen. Wenn Ihnen keine der Standardeinstellungen zusagen, können Sie Ihre eigenen definieren.

2voto

Ray Punkte 21047

Normalerweise platziere ich Member-Deklarationen oben, dann Methoden (Lebenszyklus und andere), dann Ereignisbehandlungen und schließlich Eigenschaften. Bei den Methoden versuche ich, sie ungefähr in der Reihenfolge zu ordnen, in der sie aufgerufen werden. Zum Beispiel kommen die Methoden, die beim Laden einer Seite aufgerufen werden, zuerst, dann diejenigen, die beim Speichern einer Seitenübermittlung aufgerufen werden. Eigenschaften und Ereignisbehandlungen stehen am Ende, da sie im Allgemeinen banal sind, daher lege ich sie aus dem Weg.

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