Documentation:Autres
From Gameforge Official Website
Contents |
Style de codage (Coding Style)
Pouquoi ?
Le but "ultime" est que si toto fait une classe et que titi n'est aucun probleme a relire le code. Cela permet d'uniformiser le code produit et d'en facilité la lecture.
C++
Le coding style est définie a partie d'expression régulière [1].
Les Fichiers
Extension
- Classe : *.cc
- Headers : *.hh et *.hxx (dans le cas des template on a besoin de separer en deux fichiers)
Nom de fichier
Pour ta classe TotorPoilu, on aura :
- TotorPoilu.cc
- TotorPoilu.hh
et si c'est une template :
- TotorPoilu.hh
- TotorPoilu.hxx
Classes
Nom
Reg exp : ([A-Z][a-z]*)+
cad :
- TotorPoileu.cc --> oki
- Totor_Poileu.cc --> ko
- TTotorPoileu.cc --> oki
Attribue
Reg exp : m([A-Z][a-z]*)+
Attribue constant
Reg exp : m[A-Z]+(\_[A-Z]+)*
Variable locale
Reg exp : [a-z]+([A-Z][a-z]*)*
Enum
Reg exp : [A-Z]+(\_[A-Z]+)*
Méthode
Reg exp : [a-z]+([A-Z][a-z]*)*
Namespaces
Que des lettres minuscules.
Macro
Reg exp : \_\_[A-Z]*(\_[A-Z]+)*\_\_
Les accolades
Code:
if( a == b) { cout << "ee" << endl; }
Espace et tabulation
On utilise que des espaces pas de tabulation. avec une indentation de deux espaces
Exemple 1
#ifndef __DEBUG_HH__ # define __DEBUG_HH__ ... .. . #endif
Exemple 2 :
namespace pimp { class IdData { public: IdData(const IdData &id);
Entête de chaque fichier
/*
* Copyright (c) GameForge 2006
*
* Use, modification and distribution is subject to
* the GNU General Public License V2 or later.
*
* Licence : http://www.gnu.org/copyleft/gpl.html
*
* File :
* Created on :
* Author :
*
* Last modified :
* Author :
* Description :
*/
Pour vim [2], il existe un script qui permet de créer et updater facilement cet entête.

