Coding Conventions: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Dietsch (Diskussion | Beiträge)
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Stub}}
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. Zusätzlich beinhalten [[Coding Conventions]] meistens auch Vorgaben für die richtige [[Dokumentation]] des Codes.
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 [[Downloads|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:Sopra-Resharper.zip]] enthalten. Eine Installationsanleitung für die benutzerspezifischen Einstellungen befindet sich [[Downloads#ReSharper|hier]]. Es ist wichtig, dass Ihr Programm keine Warnungen und Fehlermeldungen von ReSharper enthält (vgl. [[Anforderungen#Technische Anforderungen|Technische Anfoderungen]]).
Die Coding Conventions, die Sie im SoPra verwenden, werden durch das Visual Studio Plugin Resharper (im [[Downloads|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:Sopra-Resharper.zip]] enthalten. Eine Installationsanleitung für die benutzerspezifischen Einstellungen befindet sich [[Downloads#ReSharper|hier]]. Es ist wichtig, dass Ihr Programm keine Warnungen und Fehlermeldungen von ReSharper enthält (vgl. [[Anforderungen#Technische Anforderungen|Technische Anfoderungen]]).
Zeile 12: Zeile 10:
Die folgenden Namenskonventionen sind einzuhalten:
Die folgenden Namenskonventionen sind einzuhalten:


* [[Datentyp|Typen]] und [[Namensraum|Namespaces]]: <tt>UpperCamelCase</tt>
* Typen und Namespaces: <tt>UpperCamelCase</tt>
* [[Interface]]s: <tt>IUpperCamelCase</tt>
* Interfaces: <tt>IUpperCamelCase</tt>
* [[Generic|Typ Parameter]]: <tt>TUpperCamelCase</tt>
* Typ Parameter: <tt>TUpperCamelCase</tt>
* [[Methode]]n, [[Property|Properties]] und Events: <tt>UpperCamelCase</tt>
* Methoden, Properties und Events: <tt>UpperCamelCase</tt>
* Lokale [[Variable]]n: <tt>lowerCamelCase</tt>
* Lokale Variablen: <tt>lowerCamelCase</tt>
* Lokale [[Variable#Konstanten|Konstanten]]: <tt>lowerCamelCase</tt>
* Lokale Konstanten: <tt>lowerCamelCase</tt>
* [[Methode#Parameter|Parameter]]: <tt>lowerCamelCase</tt>
* Parameter: <tt>lowerCamelCase</tt>
* [[Klasse|Felder]] (nicht private): <tt>mUpperCamelCase</tt>
* Felder (nicht private): <tt>mUpperCamelCase</tt>
* Instanzvariablen (private): <tt>mUpperCamelCase</tt>
* Instanzvariablen (private): <tt>mUpperCamelCase</tt>
* Statische Felder (nicht private): <tt>sUpperCamelCase</tt>
* Statische Felder (nicht private): <tt>sUpperCamelCase</tt>
* Konstante Felder (nicht private): <tt>UpperCamelCase</tt>
* Konstante Felder (nicht private): <tt>UpperCamelCase</tt>
* Konstante Felder (private): <tt>UpperCamelCase</tt>
* Konstante Felder (private): <tt>UpperCamelCase</tt>
* Statische [[Modifizierer|Readonly]] Felder (nicht private): <tt>sUpperCamelCase</tt>
* Statische Readonly Felder (nicht private): <tt>sUpperCamelCase</tt>
* Statische Readonly Felder (private): <tt>sUpperCamelCase</tt>
* Statische Readonly Felder (private): <tt>sUpperCamelCase</tt>
* [[Enum]] Member: <tt>UpperCamelCase</tt>
* Enum Member: <tt>UpperCamelCase</tt>
* Alles andere: <tt>UpperCamelCase</tt>
* Alles andere: <tt>UpperCamelCase</tt>