Convention de codage Actionaz
Version 1.0 - By Jonathan Mercier-Ganady
Avant de contribuer au projet, veuillez prendre connaissance de cette page.
La convention utilisée par Actionaz est très semblable à la convention de codage Qt.
Seules les différences avec le standard Qt sont décrits dans cette page.
Règles générales
Ne pas oublier tr() autour des chaînes concernées par la traduction.
Commiter souvent.
Coder en C++, pas en C.
Ne jamais dupliquer du code, c'est le signe d'un code peu efficient : si le cas se produit, prenez l'air et repensez la structure de votre code.
Adaptez vous au projet auquel vous contribuez.
[A traduire]
Only comment when needed, usually naming the variables, classes and methods correctly
should be sufficient for every developer to understand what the code does.
Comment each complex algorithm.
Don't over-comment.
// Wrong
// Returns: the value of X
int getX();
Attributs de classe
[A traduire]
Class attributes are always private, use getters and setters to access them.
Class attributes start with a lower m.
class MyClass
{
private:
int mMyValue;
};
Méthodes d'affectation et de récupération des attributs
[NdT] les mots getter et setter ont été conservés
[A traduire]
Setters start with “set”.
Getters don't start with “get”.
Getters are const.
class MyClass
{
public:
int myValue() const { return mMyValue; }
void setMyValue (int myValue) { mMyValue = myValue; }
private:
int mMyValue;
};
Indentation
[A traduire]
Indentation is made with tabulations, not spaces. The tabulation character is designed for that. Spaces are made to separate words, so using spaces to indent in 2010+ with modern editors makes no sense.
The tabulation and the indentation size should be set to 4, warning : this is not the default setting in QtCreator !
Declaration de variables
[A traduire]
Variables are declared when used, not at the start of a block like in C.
// Wrong
int actionIndex;
for(int i = 0; i < 5; ++i)
{
actionIndex = i * 2;
// actionIndex is used here...
}
// Correct
for(int i = 0; i < 5; ++i)
{
int actionIndex = i * 2;
// actionIndex is used here...
}
Classes doesn't start with any special letter.
Accolades
[A traduire]
The correct way to write an if statement :
//Correct
if(foo)
{
// do stuff here
}
//Wrong
if (foo) {
// do stuff here
}
The following notation is accepted when the statement is not too complex, and for one level only.
//Wrong
if(foo)
if(bar)
doSomething() ;
//Correct
if(foo)
{
if(bar)
doSomething() ;
}
Never use C-style casts.
// Wrong
float a = 4.2f;
int b = (int)a;
// Correct
float a = 4.2f;
int b = static_cast<int>(a);
Blocs liés à une instructtion switch
[A traduire]
Every case does not have to have a break (or return) statement at the end or a comment to indicate that there’s intentionally no break
Retour à la ligne
[A traduire]
No numerical limit to the length of a line, just keep it not “too long”.
Retour à la page : Contribuer à Actionaz
Autres langages pour cette page : (en)