Hero background image

Formatierungsbestimmungen für C#-Scripting in Unity

Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Obwohl es möglicherweise nicht den einen richtigen Weg gibt, um Ihren C#-Code zu formatieren, kann die Einigung auf einen konsistenten Stil innerhalb Ihres Teams zu einem saubereren, lesbareren und skalierbaren Code führen. Diese Seite bietet Tipps und wichtige Überlegungen, die Sie für Ihre Klassen, Methoden und Kommentare im Hinterkopf behalten sollten, wenn Sie Ihr eigenes Style-Guide erstellen.

Hinweis: Die hier geteilten Empfehlungen basieren auf denen von Microsoft. Die besten Regeln für Style-Guides sind die, die den Bedürfnissen Ihres Teams entsprechen.

Sie können ein Beispiel für einen Style-Guide hier finden oder das vollständige E-Book herunterladen, Erstellen Sie einen C#-Style-Guide: Schreiben Sie saubereren Code, der skalierbar ist.

Formatierung Ihres Codes

Neben der Benennung hilft die Formatierung, Rätselraten zu reduzieren und die Klarheit des Codes zu verbessern. Durch die Befolgung eines standardisierten Style-Guides werden Code-Reviews weniger darüber, wie der Code aussieht, und mehr darüber, was er tut.

Ziel ist es, die Art und Weise zu personalisieren, wie Ihr Team den Code formatieren wird. Berücksichtigen Sie jede der folgenden Vorschläge zur Codeformatierung, wenn Sie Ihren Unity-Stilrichtlinien einrichten. Sie können wählen, diese Beispielregeln wegzulassen, zu erweitern oder zu ändern, um den Bedürfnissen Ihres Teams gerecht zu werden.

In allen Fällen sollten Sie darüber nachdenken, wie Ihr Team jede Formatierungsregel umsetzen wird, und dann sollte jeder sie einheitlich anwenden. Verweisen Sie auf die Stilrichtlinien Ihres Teams, um etwaige Unstimmigkeiten zu klären. Je weniger Sie über die Formatierung nachdenken, desto produktiver – und kreativer – können Sie arbeiten.

Lassen Sie uns einige Formatierungsrichtlinien ansehen.

Eigenschaften

Eine Eigenschaft bietet einen flexiblen Mechanismus zum Lesen, Schreiben oder Berechnen von Klassenwerten. Eigenschaften verhalten sich, als wären sie öffentliche Mitgliedsvariablen, sind aber tatsächlich spezielle Methoden, die Zugriffsmodifikatoren genannt werden.

Jede Eigenschaft hat eine Get- und Set-Methode, um auf ein privates Feld zuzugreifen, das als unterstützendes Feld bezeichnet wird. Auf diese Weise kapselt die Eigenschaft die Daten und verbirgt sie vor unerwünschten Änderungen durch den Benutzer oder externe Objekte. Der "Getter" und "Setter" haben jeweils ihren eigenen Zugriffsmodifikator, der es Ihrer Eigenschaft ermöglicht, lese-schreibbar, nur lesbar oder nur schreibbar zu sein.

Sie können auch die Zugriffsmodifikatoren verwenden, um die Daten zu validieren oder zu konvertieren (z. B. um zu überprüfen, ob die Daten Ihrem bevorzugten Format entsprechen oder einen Wert in eine bestimmte Einheit ändern).

Die Syntax für Eigenschaften kann variieren, daher sollte Ihr Stilrichtlinien definieren, wie sie formatiert werden. Siehe die folgenden Beispiele für Tipps, wie Sie Eigenschaften in Ihrem Code konsistent halten können.

Ausdrucksbasierte Eigenschaften

Verwenden Sie ausdrucksbasierte Eigenschaften für einzeilige, nur lesbare Eigenschaften (=>): Dies gibt das private unterstützende Feld zurück.

Automatisch implementierte Eigenschaft

Alles andere verwendet die ausdrucksbasierte { get; set; }-Syntax: Wenn Sie nur eine öffentliche Eigenschaft ohne Angabe eines unterstützenden Feldes bereitstellen möchten, verwenden Sie die automatisch implementierte Eigenschaft.

Wenden Sie die ausdrucksbasierte Syntax für die Set- und Get-Zugriffsmodifikatoren an. Denken Sie daran, den „Setter“ privat zu machen, wenn Sie keinen Schreibzugriff gewähren möchten. Richten Sie die schließende Klammer mit der öffnenden Klammer für mehrzeilige Codeblöcke aus.

Serializable Klasse
EINE SERIALISIERBARE KLASSE ODER STRUKTUR KANN HELFEN, DEN INSPEKTOR ZU ORGANISIEREN.

Serialisierung

Die Skriptserialisierung ist der automatische Prozess, Datenstrukturen oder Objektzustände in ein Format zu transformieren, das Unity speichern und später rekonstruieren kann. Aus Leistungsgründen behandelt Unity die Serialisierung anders als in anderen Programmierumgebungen.

Serialisierte Felder erscheinen im Inspektor, aber Sie können keine statischen, konstanten oder schreibgeschützten Felder serialisieren. Sie müssen entweder öffentlich sein oder mit dem [SerializeField] Attribut gekennzeichnet werden. Unity serialisiert nur bestimmte Feldtypen, daher beziehen Sie sich auf die Dokumentation für die vollständige Liste der Serialisierungsregeln.

Beachten Sie diese grundlegenden Richtlinien, wenn Sie mit serialisierten Feldern arbeiten:

Verwenden Sie das [SerializeField]-Attribut: Das SerializeField Attribut kann mit privaten oder geschützten Variablen arbeiten, um sie im Inspektor anzuzeigen. Dies kapselt die Daten besser ein, als die Variable öffentlich zu markieren, und verhindert, dass ein externes Objekt ihre Werte überschreibt.

Verwenden Sie das Range-Attribut, um Mindest- und Höchstwerte festzulegen: Das [Range(min, max)] Attribut ist praktisch, wenn Sie einschränken möchten, was der Benutzer einem numerischen Feld zuweisen kann. Es stellt das Feld auch bequem als Schieberegler im Inspektor dar.

Daten in serialisierbaren Klassen oder Strukturen gruppieren, um den Inspektor aufzuräumen: Definieren Sie eine öffentliche Klasse oder Struktur und kennzeichnen Sie sie mit dem [Serializable] Attribut. Definieren Sie öffentliche Variablen für jeden Typ, den Sie im Inspektor anzeigen möchten.

Referenzieren Sie diese serialisierbare Klasse von einer anderen Klasse. Die resultierenden Variablen erscheinen innerhalb von zusammenklappbaren Einheiten im Inspektor.

Klammer- oder Einrückungsstil

Es gibt zwei gängige Einrückungsstile in C#:

Der Allman-Stil, auch bekannt als BSD-Stil (von BSD Unix), platziert die öffnenden geschweiften Klammern in einer neuen Zeile.

Der K&R-Stil, oder "der eine wahre Klammerstil", hält die öffnende Klammer in derselben Zeile wie die vorherige Kopfzeile.

Es gibt auch Variationen von dieser Einrückungsstile. Die Beispiele in diesem Leitfaden verwenden den Allman-Stil aus den Microsoft-Richtlinien für Framework-Design. Unabhängig davon, welchen Sie als Team wählen, stellen Sie sicher, dass alle denselben Einrückungs- und Klammerstil befolgen. Sie können auch die Tipps in den folgenden Abschnitten ausprobieren.

C Sharp Tabs
TAB-EINSTELLUNGEN IN VISUAL STUDIO FÜR WINDOWS

Entscheiden Sie sich für eine einheitliche Einrückung

Die Einrückung besteht typischerweise aus zwei oder vier Leerzeichen. Bringen Sie alle in Ihrem Team dazu, sich auf eine Einstellung in Ihren Editor-Präferenzen zu einigen, ohne einen Streit über Tabs versus Leerzeichen zu entfachen.

In Visual Studio für Windows navigieren Sie zu Extras > Optionen > Text-Editor > C# > Tabs.

In Visual Studio für Mac navigieren Sie zu Voreinstellungen > Quellcode > C#-Quellcode. Wählen Sie den Textstil aus, um die Einstellungen anzupassen.

Hinweis: Visual Studio bietet die Option, Tabs in Leerzeichen zu konvertieren.

Lassen Sie Klammern nicht weg

Lassen Sie keine Klammern weg – nicht einmal für einzeilige Anweisungen. Klammern erhöhen die Konsistenz, was Ihren Code leichter lesbar und wartbar macht. In diesem Beispiel trennen die Klammern klar die Aktion, DoSomething, von der Schleife.

Wenn Sie später eine Debug-Zeile hinzufügen oder DoSomethingElse ausführen müssen, sind die Klammern bereits vorhanden. Das Halten der Klausel in einer separaten Zeile ermöglicht es Ihnen, einfach einen Haltepunkt hinzuzufügen.

Behalten Sie Klammern für Klarheit in mehrzeiligen Anweisungen

Entfernen Sie keine geschweiften Klammern aus geschachtelten mehrzeiligen Anweisungen. Das Entfernen von geschweiften Klammern in diesem Fall wird keinen Fehler auslösen, könnte jedoch Verwirrung stiften. Wenden Sie geschweifte Klammern zur Klarheit an, auch wenn sie optional sind.

Standardisieren Sie Switch-Anweisungen

Die Formatierung kann variieren, also dokumentieren Sie die Vorlieben Ihres Teams in Ihrem Stilhandbuch und standardisieren Sie Ihre switch Anweisungen entsprechend.

Hier ist ein Beispiel für das Einrücken der Fallanweisungen.

Horizontale Abstände

Etwas so Einfaches wie Abstände kann das Erscheinungsbild Ihres Codes auf dem Bildschirm verbessern. Während persönliche Formatierungspräferenzen variieren können, ziehen Sie die folgenden Vorschläge in Betracht, um die Lesbarkeit zu verbessern.

Fügen Sie Leerzeichen hinzu

Fügen Sie Leerzeichen hinzu, um die Code-Dichte zu verringern. Der zusätzliche Leerraum vermittelt ein Gefühl der visuellen Trennung zwischen Teilen einer Zeile.

Abstand nach einem Komma

Verwenden Sie einen einzelnen Abstand nach einem Komma zwischen den Funktionsargumenten.

Kein Abstand nach Klammern

Fügen Sie nach der Klammer und den Funktionsargumenten keinen Abstand hinzu.

Kein Abstand zwischen einer Funktion und Klammern

Verwenden Sie keine Abstände zwischen einem Funktionsnamen und der Klammer.

Vermeiden Sie Leerzeichen innerhalb von Klammern

Vermeiden Sie nach Möglichkeit Abstände innerhalb von Klammern.

Abstand vor Steuerflussbedingungen

Verwenden Sie einen einzelnen Abstand vor Kontrollflussbedingungen und fügen Sie einen Abstand zwischen dem Vergleichsoperator und den Klammern hinzu.

Abstand mit Vergleichsoperatoren

Verwenden Sie einen einzelnen Abstand vor und nach Vergleichsoperatoren.

Tipps zur Lesbarkeit

Halten Sie die Zeilen kurz und berücksichtigen Sie den horizontalen Leerraum. Entscheiden Sie sich für eine Standardzeilenbreite (80–120 Zeichen) und brechen Sie eine lange Zeile in kleinere Anweisungen auf, anstatt sie überlaufen zu lassen.

Wie bereits besprochen, versuchen Sie, die Einrückung/Hierarchie beizubehalten. Das Einrücken Ihres Codes kann die Lesbarkeit erhöhen.

Verwenden Sie keine Spaltenausrichtung, es sei denn, sie ist für die Lesbarkeit erforderlich. Während diese Art von Abständen die Variablen ausrichtet, kann es kompliziert sein, den Typ mit dem Namen zu paaren.

Die Spaltenausrichtung kann jedoch für bitweise Ausdrücke oder Strukturen mit vielen Daten nützlich sein. Seien Sie sich nur bewusst, dass es mehr Arbeit für Sie bedeuten könnte, die Spaltenausrichtung aufrechtzuerhalten, während Sie weitere Elemente hinzufügen. Einige Auto-Formatter könnten auch ändern, welcher Teil der Spalte ausgerichtet wird.

Vertikale Abstände und Regionen

Sie können auch vertikalen Abstand zu Ihrem Vorteil nutzen. Halten Sie verwandte Teile des Skripts zusammen und nutzen Sie Leerzeilen zu Ihrem Vorteil. Versuchen Sie Folgendes, um Ihren Code von oben nach unten zu organisieren:

  • Gruppieren Sie abhängige oder ähnliche Methoden zusammen: Code muss logisch und kohärent sein. Halte Methoden, die dasselbe tun, nebeneinander, damit jemand, der deine Logik liest, nicht im Dokument springen muss.
  • Verwende den vertikalen Leerraum, um verschiedene Teile deiner Klasse zu trennen: Zum Beispiel kannst du zwei Leerzeilen zwischen hinzufügen:
  • Variablendeklarationen und Methoden
  • Klassen und Schnittstellen
  • if-then-else-Blöcke (wenn es die Lesbarkeit verbessert)

Halte dies auf ein Minimum und verfolge es, wenn möglich, in deinem Styleguide.

Verwendung von Regionen in deinem Code

Die #region-Direktive ermöglicht es dir, Abschnitte von Code in C#-Dateien zu minimieren und zu verbergen, wodurch große Dateien übersichtlicher und leichter lesbar werden.

Wenn du jedoch den allgemeinen Rat für Klassen aus diesem Leitfaden befolgst, sollte die Größe deiner Klasse überschaubar sein und die #region-Direktive überflüssig sein. Zerlege deinen Code in kleinere Klassen, anstatt Codeblöcke hinter Regionen zu verbergen. Du wirst weniger geneigt sein, eine Region hinzuzufügen, wenn die Quelldatei kurz ist.

Hinweis: Viele Entwickler betrachten Regionen als Codegerüche oder Anti-Pattern. Entscheidet als Team, auf welcher Seite der Debatte ihr steht.

C Sharp Präferenzen
DAS VORSCHAUFENSTER STELLT DEINE AUSWAHLEN IM STYLEGUIDE DAR.

Codeformatierung in Visual Studio

Verzweifle nicht, wenn diese Formatierungsregeln überwältigend erscheinen. Moderne IDEs machen es effizient, sie einzurichten und durchzusetzen. Du kannst eine Vorlage von Formatierungsregeln erstellen und dann deine Projektdateien auf einmal konvertieren.

Um Formatierungsregeln für den Skripteditor festzulegen:

  • In Visual Studio für Windows navigieren Sie zu Extras > Optionen und suchen Sie dann Text-Editor > C# > Code-Stil-Formatierung.
  • Verwenden Sie die Einstellungen, um die Optionen Allgemein, Einrückung, neue Zeilen, Abstände und Zeilenumbruch zu ändern.
  • In Visual Studio für Mac wählen Sie Visual Studio > Einstellungen und navigieren dann zu Quellcode > Codeformatierung > C#-Quellcode.
  • Wählen Sie die Richtlinie oben aus und gehen Sie zum Tab Textstil. Passen Sie im Tab C#-Format die Einrückung, neue Zeilen, Abstände und Zeilenumbruch-Einstellungen an.

Um Ihre Skriptdatei an den Stilrichtlinien anzupassen:

  • In Visual Studio für Windows gehen Sie zu Edit > Erweitert > Dokument formatieren (Strg + K, Strg + D Tastenkombination). Wenn Sie nur Leerzeichen und Tabulatorausrichtung formatieren möchten, können Sie auch Codebereinigung ausführen (Strg + K, Strg + E) am Ende des Editors verwenden.
  • In Visual Studio für Mac gehen Sie zu Bearbeiten > Dokument formatieren (Strg + I Tastenkombination).

Unter Windows können Sie auch Ihre Editor-Einstellungen von Extras > Einstellungen importieren und exportieren teilen. Exportieren Sie eine Datei mit der C#-Codeformatierung der Stilrichtlinie und lassen Sie dann jedes Teammitglied diese Datei importieren.

Visual Studio hilft Ihnen, sich an die Stilrichtlinien zu halten. Das Formatieren wird dann so einfach wie die Verwendung einer Tastenkombination.

Hinweis: Sie können stattdessen eineEditorConfig Datei konfigurieren (siehe oben), anstatt die Visual Studio-Einstellungen zu importieren und zu exportieren. Dies erleichtert das Teilen von Formatierungen über verschiedene IDEs hinweg. Es hat auch den zusätzlichen Vorteil, mit der Versionskontrolle zu arbeiten. Siehe die .NET-Code-Stilregeloptionen für weitere Informationen.

Obwohl dies nicht spezifisch für sauberen Code ist, sollten Sie sich die 10 Möglichkeiten ansehen, um Ihren Programmierworkflow in Unity mit Visual Studio zu beschleunigen. Denken Sie daran, dass es bequemer ist, sauberen Code zu formatieren und zu refaktorisieren, wenn Sie diese Produktivitätstipps anwenden.

Holen Sie sich weitere Tipps zum Code-Stil

Erfahren Sie mehr über Namenskonventionen hier oder sehen Sie sich das komplette E-Book an. Sie können auch unser detailliertes Beispiel für den Code-Stil-Leitfaden erkunden.

Formatierungsbestimmungen für C#-Scripting in Unity