Skip to content
jarllarsson edited this page Nov 27, 2012 · 34 revisions

(<- Home)

Naming conventions för kod. För kommentarer(Doxygen), se Dokumentation

Classes

#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

Methods

void ClassName::foo(int p_bar)
{
  foo(p_bar);
}

Struct

struct Bar
{
    int data;
}

Global Enums

struct Foo
{
    enum
    {
      ONE,
      TWO
    };
};

More

..

Column structuring

Skapande av kolumner i koden. (?)

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;

Bara min två ören...

Kolumnbredd

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.

Clone this wiki locally