The C++ code style for RoboticsBrno projects.
Language:
C++
Created:
05.04.2020
Updated:
05.04.2020
Stars:
0
Visit on GitHub
Doporučený styl pro C++ zdrojový kód v projektech na GitHub profilu RoboticsBrno
specifikovaný v .clang-format
souboru.
Založeno na WebKit Code Style Guidelines s menšími úpravami:
- ● AfterClass: true
=> class foo {};
- ● AfterFunction: false
=> void foo() {...
- ● BreakBeforeBraces: Attach
=> void foo() {...
- ● NamespaceIndentation: None
=> kód uvnitř vnitřních namespace
se neodsazuje
- ● ReflowComments: false
=> komentáře nejsou omezeny maximálním počtem znaků na řádek
Specifikace v .clang-format
souboru lze využít pro nastavení formátování ve VS Code a od verze 2017 také ve Visual Studiu.
Pokud chcete aktivovat automatické formátování zdrojového kódu při uložení ve VS Code
, přidejte si do .vscode/setting.json
toto nastavení: "editor.formatOnSave": true
(viz soubor setting.json
v tomto repozitáři).
Pro automatické formátování zdrojového kódu při uložení ve Visual Studiu
je potřeba nainstalovat doplněk Format document on Save.
Specifikaci v .clang-format
souboru lze na zdrojový kód aplikovat také pomocí command-line utility Clang-format.
Na Linuxu by měla být Clang-format
utilita dostupná přes baličkovacího managera (apt-get
...).
Na Windows si lze stáhnout oficiální clang-format.exe
soubor ze stránek LLVM (autoři utility).
Pokud si stáhnete clang-format.exe
do stejného adresáře, jako máte .clang-format
soubor, stačí již jen zavolat příkaz tento příkaz v příkazové řádce (cmd
):
clang-format.exe -i CESTA\KE\ZDROJOVYM\SOUBORUM\*
Přepínač -i
znamená, že jsou změnu hned aplikovány na zdrojový kód. Bez tohoto přepínače se jen vypíše upravený kód do příkazové řádky, ale změny se neaplikují.
Recommanded C++ code style for projects on RoboticsBrno's
GitHub profile specified in .clang-format
file.
Based on WebKit Code Style Guidelines with some modification:
- ● AfterClass: true
=> class foo {};
- ● AfterFunction: false
=> void foo() {...
- ● BreakBeforeBraces: Attach
=> void foo() {...
- ● NamespaceIndentation: None
=> code inside namespace
is not indented
- ● ReflowComments: false
=> comments are not limited to maximal number of characters per line