-
Notifications
You must be signed in to change notification settings - Fork 3
Naming Conventions
Naming conventions för kod. För kommentarer(Doxygen), se Dokumentation
#pragma once
class ClassName
{
public:
ClassName();
virtual ~ClassName();
virtual void foo(int p_bar);
protected:
private:
float m_member;
static s_magic;
};
Ordning: Public Protected Private
void ClassName::foo(int p_bar)
{
foo(p_bar);
}
struct Bar
{
int data;
}
struct Foo
{
enum
{
ONE,
TWO
};
};
..
När raderna blir långa bli det väldigt svårt att se vilka "texter" som hänger ihop och vilka som inte gör det. Ex:
float a = 0;
int b = 0;
char c = 0;
float[3] d = {1,2,3}
float a = 0;
int b = 0;
char c = 0;
float[3] d = {1,2,3}
static const D3DXMATRIXA16RENDERTARGET* ma16rt = NULL
static vector<float> a();
int b();
float c();
char d();
unsigned int e();
long long f();
static const D3DXMATRIXA16RENDERTARGET* ma16rt();
Med lite vett kan det användas men har men det i klassdeklarationer blir det ofta som ovan, oläsligt.
Man kan då istället gruppera liknande grejer:
ctor();
virtual dtor();
static vector<float> a();
int b();
float c();
char d();
unsigned int e();
long long f();
static const D3DXMATRIXA16RENDERTARGET* ma16rt();
När man jobbar med structar blir det istället ofta mer läsligt då det visar för läsaren att saker faktiskt hänger ihop när de i själva verket ser ut att vara en del i en stor bit kodmassa. Ex:
float b = 5.0f;
top.a = 0.0f;
top.speed = 10.0f;
top.dist = 5.0f;
top.dir = vec3(1.0f, 0.0f, 0.0f);
int k =0;
vs:
float b = 5.0f;
top.a = 0.0f;
top.speed = 10.0f;
top.dist = 5.0f;
top.dir = vec3(1.0f, 0.0f, 0.0f);
int k =0;
Den maximala kollumnbredden för ett dokument är 90 i bredd.
Varför just 90?
För då kan man med en 1920x1080 upplösning använda sig av två stycken dokument samtidigt plus Solution Explorer samt Power Tools Full Map Mode på båda dokumenten.