Outils pour utilisateurs

Outils du site


fr:devel:coding-style

Ceci est une ancienne révision du document !


Actionaz coding style

Version 1.0 By Jonathan Mercier-Ganady

Before contributing to the project please read the following document.

The Actionaz coding style is almost the same as the coding style of Qt : http://qt.gitorious.org/qt/pages/QtCodingStyle

Note : Only the differences with the Qt coding style are shown.

General rules

Remember to add tr() around text that can be translated. Commit often, syntax when fixing a Redmine declared bug : [explanation] fixes bug #[bug number here] Code in C++, not in C. Never copy & paste code, if you want to do it that means that something is wrong : re-think the code structure. Adapt yourself to the project for which you are developing.

• •

• •

•

Comments

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();

Class attributes

Class attributes are always private, use getters and setters to access them.

•

Class attributes start with a lower m.

•

class MyClass { private: int mMyValue; };

Setters and getters

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

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 !

•

Declaring variables

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.

•

Braces

The correct way to write an if statement :

•

if(foo) { // do stuff here } So please, never use the following notation :

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);

Switch statements

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

•

Line breaks

No numerical limit to the length of a line, just keep it not “too long”.

•

fr/devel/coding-style.1360504662.txt.gz · Dernière modification : (modification externe)