Coding Conventions
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.
Die Coding Conventions, die Sie im SoPra verwenden, werden durch das Visual Studio Plugin Resharper (im Downloadbereich herunterladbar) durchgesetzt. Jeder Teilnehmer des Softwarepraktikums hat sich an diese Coding Conventions zu halten. Die Coding Conventions für ReSharper sind in der Datei Datei:UserSettings.zip enthalten. Eine Installationsanleitung für die benutzerspezifischen Einstellungen befindet sich hier. Es ist wichtig, dass Ihr Programm keine Warnungen und Fehlermeldungen von ReSharper enthält (vgl. Technische Anfoderungen).
Die genauen einzelheiten der Coding Conventions finden Sie bitte selbst heraus. Hier soll nur eine kurze Liste der wichtigsten Dinge benannt werden:
Namenskonventionen
Die folgenden Namenskonventionen sind einzuhalten:
- Typen und Namespaces: UpperCamelCase
- Interfaces: IUpperCamelCase
- Typ Parameter: TUpperCamelCase
- Methoden, Properties und Events: UpperCamelCase
- Lokale Variablen: lowerCamelCase
- Lokale Konstanten: lowerCamelCase
- Parameter: lowerCamelCase
- Felder (nicht private): mUpperCamelCase
- Instanzvariablen (private): mUpperCamelCase
- Statische Felder (nicht private): sUpperCamelCase
- Konstante Felder (nicht private): UpperCamelCase
- Konstante Felder (private): UpperCamelCase
- Statische Readonly Felder (nicht private): sUpperCamelCase
- Statische Readonly Felder (private): sUpperCamelCase
- Enum Member: UpperCamelCase
- Alles andere: UpperCamelCase
Klammerung
- Geschweifte Klammern stehen immer alleine in einer Zeile (einzige Ausnahme sind einzeilige Properties). Beispiel:
class Class1
{
private int mVariable;
int Main()
{
int a = 3;
if (a < 3)
{
return 1;
}
else
{
return 0;
}
}
public int Variable
{
get { return mVariable; }
set { mVariable = value; }
}
}
- Runde Klammern (zum Beispiel bei der Verwendung von Parametern) haben keine Leerzeichen nach dem Öffnen der Klammer:
void Method(string s)
{
}