Coding standards/de
From OpenSimulator
(Created page with "{{Quicklinks}} <br /> == Richtlinien == Wir befolgen standardmäßige C#-Codierungsrichtlinien, sofern nicht anders angegeben: [http://msdn.microsoft.com/en-us/library/czefa0...") |
|||
| (4 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] . 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 83: | Line 87: | ||
<pre> | <pre> | ||
var a = new List<string>(); | var a = new List<string>(); | ||
| − | // | + | //oder |
List<string> b = new(); // ok | List<string> b = new(); // ok | ||
| 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.