Outils pour utilisateurs

Outils du site


fr:devel:coding-style

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:devel:coding-style [2013/02/10 13:57] – créée (copie brute) niconilfr:devel:coding-style [2021/02/13 11:23] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-Actionaz coding style+====== Convention de codage Actionaz ======
  
-Version 1.0 +//Version 1.0 By Jonathan Mercier-Ganady//
-By Jonathan Mercier-Ganady+
  
-Before contributing to the project please read the following document.+Avant de contribuer au projet, veuillez prendre connaissance de cette page.
  
-The Actionaz coding style is almost the same as the coding style of Qt : +La convention utilisée par Actionaz est très semblable à la [[http://qt-project.org/wiki/Qt_Coding_Style|convention de codage Qt]].
-http://qt.gitorious.org/qt/pages/QtCodingStyle+
  
-Note : Only the differences with the Qt coding style are shown.+<note tip>Seules les différences avec le standard Qt sont décrits dans cette page.</note>
  
-General rules+===== Règles générales =====
  
-Remember to add tr() around text that can be translated+  - Ne pas oublier //tr()// autour des chaînes concernées par la traduction
-Commit often, syntax when fixing a Redmine declared bug : [explanation] fixes bug #[bug +  - Commiter souvent. 
-number here] +  - Coder en C++, pas en C. 
-Code in C++, not in 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
-Never copy & paste code, if you want to do it that means that something is wrong : re-think +  - Adaptez vous au projet auquel vous contribuez.
-the code structure. +
-Adapt yourself to the project for which you are developing.+
  
-• +===== Commentaires =====
-+
  
-• +//[A traduire]//
-• +
- +
-• +
- +
-Comments+
  
 Only comment when needed, usually naming the variables, classes and methods correctly Only comment when needed, usually naming the variables, classes and methods correctly
 should be sufficient for every developer to understand what the code does. should be sufficient for every developer to understand what the code does.
  
-• +  - Comment each complex algorithm. 
- +  Don't over-comment.<code>
-Comment each complex algorithm. +
- +
-• +
- +
-Don't over-comment. +
- +
-• +
 // Wrong // Wrong
 // Returns: the value of X // Returns: the value of X
 int getX(); int getX();
 +</code>
  
-Class attributes +===== Attributs de classe =====
- +
-Class attributes are always private, use getters and setters to access them. +
- +
-• +
- +
-Class attributes start with a lower m. +
- +
-+
  
 +//[A traduire]// 
 +  - Class attributes are always private, use getters and setters to access them.
 +  - Class attributes start with a lower m.<code>
 class MyClass class MyClass
 { {
-private: +    private: 
-int mMyValue;+    int mMyValue;
 }; };
 +</code>
  
-Setters and getters+===== Méthodes d'affectation et de récupération des attributs =====
  
-Setters start with “set”. +[NdT] les mots //getter// et //setter// ont été conservés
- +
-• +
- +
-Getters don't start with “get”. +
- +
-• +
- +
-Getters are const. +
- +
-+
  
 +//[A traduire]// 
 +  - Setters start with “set”.
 +  - Getters don't start with “get”.
 +  - Getters are const.<code>
 class MyClass class MyClass
 { {
-public: +    public: 
-int myValue() const +        int myValue() const { return mMyValue; } 
-{ return mMyValue; } +        void setMyValue (int myValue) { mMyValue = myValue; } 
-void setMyValue (int myValue) { mMyValue = myValue; } +    private: 
-private: +        int mMyValue;
-int mMyValue;+
 }; };
 +</code>
  
-Indentation+===== Indentation =====
  
-Indentation is made with tabulations, not spaces. The tabulation character is designed for +//[A traduire]//  
-that. Spaces are made to separate words, so using spaces to indent in 2010+ with modern +  - 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. 
-editors makes no sense.+  - The tabulation and the indentation size should be set to <wrap hi>**4**</wrap>, warning : this is not the default setting in QtCreator !
  
-• +===== Declaration de variables =====
- +
-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. +
- +
-+
  
 +//[A traduire]// 
 +  - Variables are declared when used, not at the start of a block like in C.<code>
 // Wrong // Wrong
 int actionIndex; int actionIndex;
Ligne 112: Ligne 76:
 for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
 { {
-actionIndex = i * 2; +    actionIndex = i * 2; 
- +    // actionIndex is used here...
-// actionIndex is used here... +
 } }
  
Ligne 121: Ligne 83:
 for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
 { {
-int actionIndex = i * 2; +    int actionIndex = i * 2; 
- +    // actionIndex is used here...
-// actionIndex is used here... +
 } }
 +</code>
 +  - Classes doesn't start with any special letter.
  
-Classes doesn't start with any special letter. +===== Accolades =====
- +
-• +
- +
-Braces +
- +
-The correct way to write an if statement : +
- +
-+
  
 +//[A traduire]//
 +  - The correct way to write an if statement :<code>
 +//Correct
 if(foo) if(foo)
 { {
-// do stuff here+    // do stuff here
 } }
-So please, never use the following notation : 
  
 +//Wrong
 if (foo) { if (foo) {
-// do stuff here +    // do stuff here
 } }
 +</code>
 +  - The following notation is accepted when the statement is not too complex, and for one level only.<code>
 +//Wrong
 +if(foo)
 +    if(bar)
 +        doSomething() ;
  
-The following notation is accepted when the statement is not too complex, and for one level +//Correct
-only. +
- +
-• +
- +
-// Wrong +
-if(foo) +
-if(bar) +
-doSomething() ; +
-// Correct+
 if(foo) if(foo)
 { {
-if(bar) +    if(bar) 
-doSomething() ;+        doSomething() ;
 } }
-• Never use C-style casts. +</code> 
 +  - Never use C-style casts.<code>
 // Wrong // Wrong
 float a = 4.2f; float a = 4.2f;
 int b = (int)a; int b = (int)a;
 +
 // Correct // Correct
 float a = 4.2f; float a = 4.2f;
 int b = static_cast<int>(a); int b = static_cast<int>(a);
 +</code>
  
-Switch statements+===== Blocs liés à une instructtion switch =====
  
-Every case does not have to have a break (or return) statement at the end or a comment to +//[A traduire]// 
-indicate that there’s intentionally no break+  - 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 =====
  
-Line breaks+//[A traduire]// 
 +  - No numerical limit to the length of a line, just keep it not “too long”.
  
-No numerical limit to the length of a line, just keep it not “too long”.+---- 
 +Retour à la page : [[fr:devel|Contribuer à Actionaz]]
  
-+Autres langages pour cette page : [[en:devel:coding-style|(en)]] 
fr/devel/coding-style.1360504662.txt.gz · Dernière modification : 2021/02/13 11:23 (modification externe)