Coding Conventions: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Hofmann (Diskussion | Beiträge)
Hofmann (Diskussion | Beiträge)
Zeile 30: Zeile 30:
}
}
</source>
</source>


===== Lokale Variablen & Methoden Parameter =====
===== Lokale Variablen & Methoden Parameter =====
Zeile 43: Zeile 44:
}
}
</source>
</source>


===== Interfaces =====
===== Interfaces =====
Zeile 54: Zeile 56:
}
}
</source> [[Kategorie:Code-Beispiele]]
</source> [[Kategorie:Code-Beispiele]]


===== Private  Klassenvariablen =====
===== Private  Klassenvariablen =====
Zeile 65: Zeile 68:
}
}
</source> [[Kategorie:Code-Beispiele]]
</source> [[Kategorie:Code-Beispiele]]


===== Exceptions =====
===== Exceptions =====
Zeile 76: Zeile 80:
}
}
</source>
</source>


==== Naming Style ====
==== Naming Style ====
Zeile 99: Zeile 104:
}
}
</source>
</source>


===== Methoden =====
===== Methoden =====
Zeile 106: Zeile 112:
*Benutze Paare bestehend aus einem Verb und dem Objektname z.B. '''ShowDialog()'''.
*Benutze Paare bestehend aus einem Verb und dem Objektname z.B. '''ShowDialog()'''.
*Methoden die einen Wert zurückgeben, sollte eine Beschreibung des Wertes im Namen haben z.B. '''GetObjectState()'''.
*Methoden die einen Wert zurückgeben, sollte eine Beschreibung des Wertes im Namen haben z.B. '''GetObjectState()'''.


===== Variabeln =====
===== Variabeln =====
Zeile 115: Zeile 122:
**Verwende '''keine''' [http://de.wikipedia.org/wiki/Ungarische_Notation Hungarian Notation]
**Verwende '''keine''' [http://de.wikipedia.org/wiki/Ungarische_Notation Hungarian Notation]
**Verwende '''keine''' Abkürzungen z.B. num statt number.
**Verwende '''keine''' Abkürzungen z.B. num statt number.


===== Generische Typen =====
===== Generische Typen =====

Version vom 25. April 2010, 08:34 Uhr



Allgemein

Mit Coding Conventions sind ein mehr oder weniger fester Satz von Regeln gemeint, an die sich alle an einem Projekt teilnehmenden Programmierer halten sollten um den Quellcode leichter les- und wartbar zu machen. Hierbei werden zum Beispiel Namenskonventionen und ihre Schreibweise ausgemacht. Aber auch auf die Einrückungstiefe des Quellcodes, das Benutzen von Leerzeichen oder Tabstopps sowie andere Richtlinien bei der Codeerstellung kann hier eingegangen werden.

Naming & Style Conventions

In diesem Abschnitt wird beschrieben nach welchen Regeln Klassen, Typen, Variabeln usw. benannt werden müssen.

Naming Conventions

Typen, Klassen, Methoden & Konstanten

Für die Bennenung von Type, Klassen, Methoden und Konstanten benutzen wird die Namenkonventionen aus Pascal. Diese sehen vor, dass die Anfangsbuchstaben groß geschrieben werden und der Rest klein.

Dies gilt auch für zusammengesetzte Namen wie z.B."DefaultSize".

public class SomeClass 
{ 
   const int DefaultSize = 100; 
   public void SomeMethod() 
   { 
     // do something
   } 
}


Lokale Variablen & Methoden Parameter

Bei Variabel wird die Namenkonventionen verwendet die in Camel üblich ist. Diese unterscheiden sich geringfügig von den Konvention aus Pascal.

Der einzige unterschied ist, dass der Name am Anfang klein geschrieben wird.

void MyMethod(int someNumber) 
{ 
   int number; 
}


Interfaces

Bei Interfaces wird dem Klassen- und Dateinamen ein "I" vorangestellt.

interface INewInterface 
{ 
   // 
}


Private Klassenvariablen

Einer Private Klassenvariablen wird ein "_" vorangestellt, die Variable wird dann nach den Camel-Case Konventionen benannt.

public class SomeClass3 
{ 
   private int _number; 
}


Exceptions

Bei Benutzerdefinierten Exceptions Klassen wird dem Namen der Klasse das Wort "Exception" angehängt.

public class FooException : Exception
{ 
  //
}


Naming Style

Enum
Properties

Regeln für das Sinnvolle benennen von Properties:

  • Verwende Substantive oder Sätze bestehend aus Substantive.
  • Verwende Pascal Namingconventions.
public class Test
{
    //...
    public TestCase
    {
        get;
        set;
    }
}


Methoden

Regeln für das Sinnvolle benennen von Methoden:

  • Benutze Paare bestehend aus einem Verb und dem Objektname z.B. ShowDialog().
  • Methoden die einen Wert zurückgeben, sollte eine Beschreibung des Wertes im Namen haben z.B. GetObjectState().


Variabeln

Regeln für das Sinnvolle benennen von Variablen:

  • Verwende anschauliche Namen
    • Verwende keine Buchstaben als Variablennamen wie z.B. i oder t. Benutze stattdessen index oder temp.
    • Verwende keine Hungarian Notation
    • Verwende keine Abkürzungen z.B. num statt number.


Generische Typen

Verwende bei generischen Typen den Buchstaben T für einzelne Parameter.

public class List<T> 
{ 
  // 
}

Sollte der generische Typ mehrere Parameter haben, wird dem T ein anschaulicher Namen in der Pascal Naming Convention angehängt.

//Correct: 
public class LinkedList<TKey,TValue> 
{ 
  // 
} 
//Avoid: 
public class LinkedList<K,V> 
{ 
  // 
}

White Space & Wrapping Lines

Coding Style

Deklaration

Kommentare

Single Line Comments
Block Comments
Documentation Comments