Coding standards/de

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Richtlinien)
 
(3 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 83: Line 87:
 
<pre>
 
<pre>
 
     var a = new List<string>();
 
     var a = new List<string>();
//or
+
//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.
Personal tools
General
About This Wiki