User Tools

Site Tools


en:devel:coding-style

This is an old revision of the 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”.

en/devel/coding-style.1360504699.txt.gz · Last modified: 2021/02/13 11:23 (external edit)