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/03/06 19:58] – Précision sur le coding style d'ajout d'un espace avant les parenthèses des fonctions rootlang:cpp:codingstyle [2025/10/16 15:49] (Version actuelle) – Ajout d'une image pour le this null root
Ligne 1: Ligne 1:
-====Coding style de Google====+=====Formatage=====
  
-Le style de code est presque identique pour le C et le C++.+Utilisation de [[prog:clang-format]].
  
-===Présentation=== +Mon style : 
-J'aime le coding style de Google car +  * 2 espaces pour les indentations. 
-  * Globalement, le style me plait, +  * ''if'' n'exécute qu'une seule instructionne pas tout écrire sur la même ligne. Quand le code est exécuté en pas à pas, cela permet de connaître la validité de la condition. 
-  * Faible indentation (2 espaces)+  * Si une méthode n'exécute qu'une seule ligne, ne pas tout écrire sur la même ligne. Sous Visual Studio, parfois, le ''this'' n'est affichable que si une instruction est exécutée (pas à pas), y compris en ''Debug''.
-  * Il est supporté (et donc validépar une grosse entreprise,+
  
-J'aime moins et j'utilise moins souvent (C++ seulement) : +{{:lang:cpp:codingstyle:two-lines-this-null.png?831|}}
-  * Mettre tous les passages d'objets en lecture seule par ''const &'' et les objets à modifier en pointeur.+
  
-J'apporte les modifications suivantes : +=====Style de code=====
-  * 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. C'est une convention rarement utilisée mais je la préfère.+
  
-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.+Il existe de nombreuses règles de codage.
  
-[[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]]+  * Documents
  
-===Formatage avec clang-format=== +[[prive:lang:c:normes:misra|Misra]] C++ 2023 (pour C++17).
-<code bash> +
-clang-format -style="{BasedOnStylegoogle, BreakBeforeBracesCustom, BraceWrapping{ AfterClasstrue, 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>+
  
 +[[https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines|C++ Core Guidelines]]
 +
 +[[https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId=88046682|SEI CERT C++ Coding Standard]]
 +
 +  * Logiciels
 +
 +[[https://clang.llvm.org/extra/clang-tidy/checks/list.html|Liste des règles de clang-tidy]]
lang/cpp/codingstyle.1583521090.txt.gz · Dernière modification : de root