Xavier Lamorlette
Sommaire :
L'objectif essentiel de mes conventions de codage est de maximiser la lisibilité du code.
Notamment :
J'essaie de rester proche des conventions les plus communes.
La référence et la base sont les C++ Core Guidelines.
Ma_classe
).,
;
:
: Comme en typographie anglaise, pas d'espace avant et une espace après pour les virgules, les points-virgules et les doubles points.&
*
: Une espace avant et une espace après les esperluettes et les étoiles de référencement et de déréférencement.#include "A.hpp"
#include "B.hpp"
#include <string>
namespace foo {
namespace bar {
class C;
class D: public A {
public:
D() = default;
private:
int f;
};
D::D(int a,
int b):
A(12),
f(42), g(12) {
f += 12;
}
void compute(const D & d,
int e) {
int sum = 0;
for (int i = 0; i < e; i ++) {
sum += d.do(i);
}
long_call_to_a_funtion_with_seveval_parameters(first_parameter,
second_parameter, third_parameter);
int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
= bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ cccccccccccccccccccccccccccccc;
if (long_condition_filling_the_line()
|| foo()) {
} else {
}
try {
foo();
} catch () {
}
switch (foo) {
case 1:
bar();
break;
default:
baz();
}
for (auto v: values) {
}
}
}
}
Documentation de référence : Clang-Format Style Options.
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignOperands: false
AllowShortFunctionsOnASingleLine: None
BinPackParameters: false
BreakBeforeBinaryOperators: All
BreakConstructorInitializers: AfterColon
ColumnLimit: 0
ConstructorInitializerIndentWidth: 12
FixNamespaceComments: false
IndentWidth: 4
IndentCaseLabels: true
PointerAlignment: Middle
SpaceAfterLogicalNot: true
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: false
SpaceBeforeRangeBasedForLoopColon: false
SpacesBeforeTrailingComments: 2
UseTab: Never
Notez que Clang-format ne permet pas d'avoir :
La dernière mise à jour de cette page date de mai 2020.
Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.