Richtlinien und Programmierregeln
Folgende Richtlinien müssen eingehalten werden:
Namensgebung von Variablen, Methoden, Klassen
Um eine Einheitliche Namenskonvention zu erreichen ist es notwendig
sich an eine strikte Richtlinie zu halten.
- Nach der Ungarische Notation beginnen Variablennamen mit
einem Kleinbuchstaben (Kamel-Notation), Methoden und Klassen
mit einem Grossbuchstaben.
- Klassennamen erhalten zudem einen Präfix C für Class.
(zb CTerrain, CWindow)
- Bei Namen die aus mehreren Wörtern zusammengesetzt worden
sind, wird der Anfangsbuchstabe des Wortes gross geschrieben.
(zb DrawText)
- Variablennamen besitzen immer einen Präfix vom Typ der
Variable (zb i für Integer, d für Double). Der nächste
Buchstabe wird immer gross geschrieben.
- Anhand der Methodennamen muss erkennbar sein, welche Funktion
diese ausführt und dürfen auch keinerlei weitere unerwartete
Eigenschaften besitzen. (zb. DrawText zeichnet einen Text. Nicht
zulässig wäre wenn diese Funktion noch den Bildschirm
vorher löscht. Ebenfalls unzulässig zb. CheckIt. Damit
nicht die Frage aufkommt, was genau soll diese Methode prüfen?)
- Ähnlich wie bei 5 beschrieben müssen auch Variablennamen
sprechend sein. Variablennamen wie iTest sind unzulässig.
- Namen werden immer in Einzahl und englischer Sprache geschrieben.
(zb uPlayer, unzulässig uPlayers)
- Bei Eigenschaften wird zusätzlich ein Präfix m für
modul vor dem Variablennamen gesetzt. (zb. miWindow)
- Defines und Makros werden grundsätzlich Gross geschreiben.
Defines aus meheren Wörtern werden durch ein _ getrennt.
- Ausnamen: Zahlvariablen für Schleifen können auch
i, j, k, usw. genannt werden
Beispiel für Klassennamen:
CTerrain, CWindow, usw.
Beispiel für Methodennamen:
DrawText, CheckPassword, usw.
Beispiel für Eigenschaften und Variablennamen:
uPlayer, sTitle, miWindow, usw.
Beispiel für Defines und Makros
GL_LIGHTING, MAX, PI, usw.
Da es bei einigen Stellen keine eindeutige Definition gibt (wie
zb. b Für Byte oder Boolean) folgt hier eine Liste
der Typen.
Objektorientierte Programmierung
OOP hat viele Vorteile. So können u.a. Schnittstellen schon
vor der Erstellung definiert werden. Abhängigkeiten und gemeinsame
Benutzung globaler Variablen, Funktionen usw. sind damit nahezu
ausgeschlossen. So lassen sich auch im nachhinein ganze Klassen
leicht austauschen.
Modulare Struktur
Um nicht im Chaos zu versinken ist es notwenig das Projekt in einzelne
Module zu gliedern, die entweder alleine (durch Threads) oder über
ein Hauptmodul gesteuert werden. Der Vorteil: Module lassen sich
leicht austauschen. Es wird eine bessere Übersichtlichkeit
ermöglicht.
Abhängigkeiten zwischen Modulen vermeiden
Wichtig für die flexibilität ist es, dass Module sich
nicht gegenseitig Daten austauschen, sondern ein übergeordnetes
Modul dies übernimmt. Würde dies nicht eingehalten, wäre
ein Austausch einzelner Module nur mit viel Aufwand zu betreiben.
|