Coding standards/de
From OpenSimulator
(→Verwendung von var und new()) |
|||
(2 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
== Richtlinien == | == Richtlinien == | ||
− | Wir befolgen standardmäßige C#-Codierungsrichtlinien, sofern nicht anders angegeben: [http://msdn.microsoft.com/en-us/library/czefa0ke.aspx] [https://learn.microsoft.com/de-de/dotnet/standard/design-guidelines/] . Korrekturen an bestehenden Dateien zur Einhaltung dieser Standards sind willkommen. | + | Wir befolgen standardmäßige C#-Codierungsrichtlinien, |
+ | |||
+ | sofern nicht anders angegeben: [http://msdn.microsoft.com/en-us/library/czefa0ke.aspx] [https://learn.microsoft.com/de-de/dotnet/standard/design-guidelines/]. | ||
+ | |||
+ | Korrekturen an bestehenden Dateien zur Einhaltung dieser Standards sind willkommen. | ||
=== Formatierung === | === Formatierung === | ||
Line 90: | Line 94: | ||
[[Category:Standards]] | [[Category:Standards]] | ||
+ | [[Category:German Translations]] |
Latest revision as of 07:37, 12 November 2022
Contents |
[edit] Richtlinien
Wir befolgen standardmäßige C#-Codierungsrichtlinien,
sofern nicht anders angegeben: [1] [2].
Korrekturen an bestehenden Dateien zur Einhaltung dieser Standards sind willkommen.
[edit] Formatierung
- Wir setzen geschweifte Klammern auf separate Zeilen und verwenden 4 Leerzeichen.
- Tabulatoren selbst sollten Leerzeichen sein, keine echten harten Tabulatoren.
- Verwenden Sie string anstelle von String, wenn Sie auf den System.String-Typ verweisen.
[edit] Benennung
- Wir verwenden ganze Wörter, um Dinge zu benennen.
- Streben Sie eine assoziative Benennung an, damit die Logik ohne explizite Kommentare klar ist.
[edit] Klassen
Sofern die Klassen nicht sehr trivial sind, sollte es eine Klasse pro Datei geben.
public class SimpleExample { }
[edit] Methoden
Bei Methodennamen werden alle Wörter groß geschrieben (im Gegensatz zu Java, das CamelCase kulturell verwendet).
public class SimpleExample { public void ExampleMethod(int exampleAttribute) { string exampleVariable = "test value"; } }
[edit] Felder
Felder sollten immer initialisiert werden, wenn sie deklariert werden. Mitgliedsfelder beginnen mit m_ und werden in camelCase fortgesetzt:
public class SimpleExample { private long m_exampleMemberField = 0; private static double m_exampleStaticMemberField = 2; public void ExampleMethod(int exampleAttribute) { string exampleVariable = "test value"; } }
[edit] Warnungen
Bitte halten Sie die Code-Warnung frei und verwenden Sie #pragma nur, wenn es absolut notwendig ist. Zum Beispiel:
#pragma warning disable 0612 ASSET_TYPE_TO_EXTENSION[(sbyte)AssetType.Script] = "_script.txt"; // Nicht sicher, ob wir das jemals sehen werden #pragma warning restore 0612
[edit] Logging
Jede Klasse sollte ihren eigenen Logger haben, der als privat deklariert und nicht vererbt wird:
public class SimpleExample { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); }
[edit] Verwendung von var und new()
Verwenden Sie var nur dann in einer Variablendeklaration, wenn der Typ der Variablen auf der rechten Seite eindeutig ist
var a = new List<string>(); //oder List<string> b = new(); // ok var c = mything(); // nicht ok. Wir können den Typ nicht sehen, ohne nach mythischen Details zu suchen.