PISTS - Coding Style Gudie Author: MIN, 14.3.02 Changes: MIN Prefinal Version, 16.4.02 Intro Das Projekt soll Veröffentlicht werden können (Opensource). Deshalb achten wir darauf, das es einigermassen den geltenden Standards im Netz entspricht. Unteranderem das der Code und Doku im Code (Komentare) für jederman lesbar sind. 1 Sprache 1.1 Source Der Code ist Englisch. gibResultat() -> getResult() Ebenso Dateinamen (Konsistenz zum Code). 1.2 Kommentare und Text in Sourcefiles Kommentare zum Code sowie Texte in Sourcefiles sind in Englisch Die wird auch für die I18n mit qt so benötigt. 2 Dateien Unter UNIX ist das Dateisystem Case Sentsitive. Daher müssen wir auch unter Windows die Konventionen beachten. 2.1 Dateinamen Der erste Buchstabe wird generell klein geschrieben. Bei zusammengestzten Wörtern jeweils den ersten Buchstaben gross. Wir verwenden keine Umlaute und Leerschläge im Dateisystem ('ä'-> 'ae' etc, "my House.bsp" -> "myHouse.bsp"). Dateinamen bei Codefiles auf Englisch, dadurch Konsitent mit Code und gar keine Umlaute nötig. Bspiele: aStupidName UFO (reine Abkürzung) aUFOPilot (erster Bstb. klein) 2.2 Dateierweiterungen Datei Typ | Erweiterung --------------+------------- C++ Source | cpp C++ Header | h C Source | c C Header | h ACSI Text | txt (zu erweitern...) 3 Coding 3.1 Tabulator Standard Tabulatorweite ist 2 Spaces. Tabulatoren werden nicht durch Spaces ersetzt. (Dadurch kann es jeder so Einstellen wie er es will). 3.2 Blöcke 3.2.1 if etc. if(true) { cout<<"hello"; cout<<" world!"< #ifndef POCKETBOMB_H #define POCKETBOMB_H #include // "system" includes #include #include"bomb.h" // own includes #include"Object.h" class PocketBomb : public Bomb, public Object { public: PocketBomb(void* Parent, const int* Size= 10, Coordinate position= Coordinate(0,0,0), Object* dedicatedTo= 0); ~PocketBomb(); void* getParent(void); /* returns a pointer the current Operator of the device */ void setParent(void* newParent); /* Assigns a new parent */ Coordinate getPosition(void); /* returns the actual position of the device. */ void setPosition(Coordinate newPosition); /* assignes (moves) it to a new Position. */ ...etc.... private: Object* theTarget; /* Keeps track of the Target */ Coordinate bombPosition; /* Keeps track of itself */ int bombSize; /* stores the bombsize */ void* blaParent; /* points to the parent */ }; #endif