Coding standards/de

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Richtlinien)
(Richtlinien)
Line 4: Line 4:
  
 
Wir befolgen standardmäßige C#-Codierungsrichtlinien,  
 
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/].  
 
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.
 
Korrekturen an bestehenden Dateien zur Einhaltung dieser Standards sind willkommen.
  

Revision as of 07:33, 12 November 2022


Contents

Richtlinien

Wir befolgen standardmäßige C#-Codierungsrichtlinien,

sofern nicht anders angegeben: [1] [2].

Korrekturen an bestehenden Dateien zur Einhaltung dieser Standards sind willkommen.

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.

Benennung

  • Wir verwenden ganze Wörter, um Dinge zu benennen.
  • Streben Sie eine assoziative Benennung an, damit die Logik ohne explizite Kommentare klar ist.

Klassen

Sofern die Klassen nicht sehr trivial sind, sollte es eine Klasse pro Datei geben.

public class SimpleExample
{

}

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";
    }
}

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";
    }
}

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

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);
}

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