-
Notifications
You must be signed in to change notification settings - Fork 1
Codestil
boomshanka edited this page Jul 12, 2011
·
7 revisions
Um den Code möglichst übersichtlich, einheitlich und lesbar zu gestalten, sollte sich jeder an einige Regeln halten. Diese Regeln für den optimalen Codestil sind hier aufgeführt.
Klassen und Funktionen werden groß geschrieben (UpperCamelCase). Eine Klasse sieht dabei folgendermaßen aus:
#ifndef FILE_HPP // <- Include Guards
#define FILE_HPP
#include <iostream>
class Foo
{
public:
Foo(int moo);
~Foo();
void DoSomething(int argument); // <- UpperCamelCase, Name der Argumente ausgeschrieben und klein.
void SetMoo(int moo) {myMoo = moo;} // <- Setter
int GetMoo() {return myMoo;} // <- Getter
private: // <- Nicht eingerückt
int myMoo; // <- Ein Tab eingerückt, my als Präfix für Membervariablen
Object* myObject;
};
#endif // FILE_HPP
// file.cpp
#include "file.hpp"
Foo::Foo(int moo) : // <- Initialisierungsliste
myMoo(moo), myObject(NULL) // <- "
{
myObject = new Object();
}
Foo::~Moo()
{
delete myObject; // <- Nicht vergessen!!
}
void Foo::DoSometing(int argument)
{
argument = argument * argument;
argument = std::sqrt(argument);
std::cout << "Hi :D";
}
Membervariablen bekommen my-Präfixe. Alle anderen Variablen und Konstanten fangen mit einem kleinen Buchstabe an (lowerCamelCase).
unsigned int mooCounter = 0;
++mooCounter;
for(int i = 0; i < foo; ++i) // <- i (j, k) als Zählvariable
{
..
}
const int answer = 42;
enum Color
{
BLUE, // <- ganz groß geschrieben! Jeweils eine Zeile
RED,
YELLOW
};
Keywords werden ohne Klammer aufgerufen, wie z.B. "return 0;", jedoch kommt eine Klammer hinzu, wenn es sich um Bedingungen handelt.
for(int i = 0; i < size; ++i)
{ // <- Neue Zeile
DoSomething(i);
}
if(i < j)
{
j = 0;
return 0;
}
else
{
return (i == j);
}
namespace space // <- Namespace klein geschrieben und möglichst kurz
{
class Foo; // <-Nicht einrücken nach namespace
}
space::Foo moo;