Sunteți pe pagina 1din 4

Convention de codage

Prfixe de variable par type : type bool : boNomVariable type char : cNomVariable type char* : szNomVariable type string : strNomVariable type int : iNomVariable type long : lNomVariable type short : sNomVariable type double : dNomVariable type float : fNomVariable pour les pointeurs : pNomPointeur

Les types non-signs : Pour prfix un type non-sign on utilise la caractre 'u'. Exemple :
unsigned int uiNomVariable;

Les numrations : Pour prfix le nom d'une numration, on utilise le caractre 'E'. Exemple :
enum ENomEnumeration { ENUM_1 = 0 , ENUM_2 };

Les constantes :
Les constantes ont leur nom crit entirement en majuscule et chaque mot est spac par des underscore '_'. Exemple : NOM_DE_LA_CONSTANTE Cela vaut aussi pour les constantes des numrations.

Les classes : Les classes sont prfixs par le caractre 'C'. Exemple :
class CNomClasse

Note : Dans ce projet de moteur de jeux une courte srie de caractre sera insrer entre le caractre C et le nom de la classe, pour prouver l'appartenance au moteur, par exemple : class CAeNomClasse (Ae pour Aerandir)

Les structures : Le nom des structures seront prfix par le caractre 'T'. Exemple :
typedef struct { int iVar; char *szVar2; } TNomStructure;

Les membres d'une classe : Pour les membres d'une classe on prfixe le nom par 'm_'. Exemple :
class CFoo { private : int m_iVar; };

Les variables globales : Mme si celle-ci n'apparatront pas dans le code (il le faut! part cas spcial (et encore...)), elles sont prfixs par 'g_'. Exemple :
unsigned long g_ulNomVariableGlobale;

Organisation d'une classe : Exemple :


class CFoo { public : CFoo(); ~CFoo(); // Mthodes public ... protected: // Les mthodes protgs private: // Les mthodes prives private: // Les variables membres prives };

Les interfaces : Rappel : Une interface est, en C++ (dans notre cas), une classe abstraite (donc qui possde une ou des mthodes virtuelles pure), une interface ne peut tre instanci tel quel, il faut obligatoirement passer par une classe qui en drive. Les nom des classe-interfaces sont prfixs par le caractre 'I'. Exemple :
class InomInterface

Protection contre les inclusions multiple : Note : Normalement dans un bon code bien pens il ne devrait pas y avoir besoin de cette protection. Toutefois dans de grands projet comme celui-ci, les risques sont accrus et il est normal de ne pas toujours s'apercevoir des erreurs surtout si celle-ci ne sont que des erreurs de conception...

Pour utiliser cette protction, chaque header devra possder cette structure : #ifndef NOM_DU_HEARDER_H__4839A4BF_4BCD_4a53_B08D_D1015D3C4E5A #define NOM_DU_HEARDER_H__4839A4BF_4BCD_4a53_B08D_D1015D3C4E5A // Code du header #endif La suite de chiffres et de lettes spare par des '_' est un GUID c'est une chane alatoire dont on garantis la quasi-unicit (vu qu'il y a trs grande possibilit de chanes diffrentes), c'est une scurit en plus que nous prendrons. Note 2 : Pour la gnration de GUID, le microsoft SDK propose un gnrateur appel "GUID Generator" (guidgen.exe).

Les commentaires et la documentation du code : En ce qui concerne les commentaires il n'y a pas de convention spcifique, et je ne rapellerai pas non l'importance de commenter son code. Pour ce qui est de la documentation, donc documentation des classes, mthodes, ... nous utiliserons la syntaxe doxygen. Ce qui nous permettra de gnrer une documentation partir de ce logiciel.

TO BE CONTINUED...

S-ar putea să vă placă și