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