Outils pour utilisateurs

Outils du site


lang:cpp:codingstyle

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:cpp:codingstyle [2020/01/02 12:24] – Fusion avec le coding style de ":audit:bonnespratiques" rootlang:cpp:codingstyle [2020/03/06 19:58] (Version actuelle) – Précision sur le coding style d'ajout d'un espace avant les parenthèses des fonctions root
Ligne 1: Ligne 1:
 ====Coding style de Google==== ====Coding style de Google====
 +
 +Le style de code est presque identique pour le C et le C++.
 +
 ===Présentation=== ===Présentation===
 J'aime le coding style de Google car : J'aime le coding style de Google car :
Ligne 6: Ligne 9:
   * Il est supporté (et donc validé) par une grosse entreprise,   * Il est supporté (et donc validé) par une grosse entreprise,
  
-J'aime moins et j'utilise moins souvent :+J'aime moins et j'utilise moins souvent (C++ seulement) :
   * Mettre tous les passages d'objets en lecture seule par ''const &'' et les objets à modifier en pointeur.   * Mettre tous les passages d'objets en lecture seule par ''const &'' et les objets à modifier en pointeur.
  
-Mais avec les modifications suivantes :+J'apporte les modifications suivantes :
   * Toujours le crochet ouvrant sur une nouvelle ligne. Quand on clique sur le crochet fermant, on sait dans quelle colonne est le crochet ouvrant quand il est mis en surbrillance.   * Toujours le crochet ouvrant sur une nouvelle ligne. Quand on clique sur le crochet fermant, on sait dans quelle colonne est le crochet ouvrant quand il est mis en surbrillance.
-  * On met les références ''&'' et les pointeurs ''*'' du coté du nom de la variable. Cela évite les erreurs avec le code suivant : ''int* a, b;'' qui pourrait laisser croire après une lecture rapide que b est aussi un pointeur.+  * On met les références ''&'' et les pointeurs ''*'' du coté du nom de la variable. Cela évite les erreurs avec le code suivant : ''int* a, b;'' qui pourrait laisser croire après une lecture rapide que b est aussi un pointeur. C'est une convention rarement utilisée mais je la préfère.
  
-[[https://google.github.io/styleguide/cppguide.html|Google C++ Style Guide]] {{ :audit:bonnespratiques:google_c_style_guide_2019-10-04_21_21_46_.html |Archive de la version 05/09/2019 le 04/10/2019}} [[https://github.com/google/styleguide|Dépôt GitHub]]+Dans tous les cas, je déconseille d'utiliser la règle d'ajout d'un espace avant les parenthèses pour les fonctions. [[lang:c:preprocesseur#risque_du_coding_style_espace_avant_parenthese|Le préprocesseur n'aime pas cette règle]] et l'erreur de codage sera plus difficile à détecter. 
 + 
 +[[https://google.github.io/styleguide/cppguide.html|Google C++ Style Guide]] {{ :lang:cpp:codingstyle:google_c_style_guide_2019-10-04_21_21_46_.html |Archive du 05/09/2019 le 04/10/2019}} [[https://github.com/google/styleguide|Dépôt GitHub]]
  
 ===Formatage avec clang-format=== ===Formatage avec clang-format===
 <code bash> <code bash>
-  clang-format -style="{BasedOnStyle: google, BreakBeforeBraces: Custom, BraceWrapping: { AfterClass: true, AfterControlStatement: true, AfterEnum : true, AfterFunction : true, AfterNamespace : true, AfterObjCDeclaration: true, AfterStruct : true, AfterUnion : true, BeforeCatch : true, BeforeElse : true, IndentBraces : false }, ReflowComments: false, DerivePointerAlignment: false, PointerAlignment: Right }" -i file.cpp+clang-format -style="{BasedOnStyle: google, BreakBeforeBraces: Custom, BraceWrapping: { AfterClass: true, AfterControlStatement: true, AfterEnum : true, AfterFunction : true, AfterNamespace : true, AfterObjCDeclaration: true, AfterStruct : true, AfterUnion : true, BeforeCatch : true, BeforeElse : true, IndentBraces : false }, ReflowComments: false, DerivePointerAlignment: false, PointerAlignment: Right }" -i file.cpp
 </code> </code>
 +
lang/cpp/codingstyle.1577964285.txt.gz · Dernière modification : 2020/01/02 12:24 de root