Příklad

Miniprojekt k tomuto tématu: https://github.com/blinry/nelder-mead-optimizer

Zásady programování

Proč psát čistý kód

Moto programátora pracujícího na velkém programu

Jména proměnných, funkcí, struktur, tříd, atd.

Pro větší projekty je vhodné udržovat jednotný styl pojmenování proměnných (např. old_date vs oldDate) a obecně celý styl formátování kódu. Velké projekty typicky mají svá pravidla pro formátování kódu (coding guidelines), kterých se programátoři musí držet, např.:

Nástroje pro formátování kódu

editorconfig poskytuje jednotnou specifikaci, která umožňuje nastavit základní způsob formátování zdrojového kódu napříč editory/IDE. Mnoho editorů/IDE poskytuje nativní podporu nebo je k dispozici plugin.

Vzorový soubor .editorconfig (patří do hlavního (kořenového) adresáře projektu a působí i na soubory v podadresářích):

# top-most EditorConfig file
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

Pokročilý nástroj pro automatické formátování C/C++ kódu je např. ClangFormat. Vzorový soubor .clang-format (patří do hlavního (kořenového) adresáře projektu a působí i na soubory v podadresářích):

# Documentation: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
---
Language: Cpp
Standard: c++14
BasedOnStyle: Mozilla

IndentWidth: 4
ContinuationIndentWidth: 4
IndentAccessModifiers: false
AccessModifierOffset: -4

...
# vim: ft=yaml

Členění kódu do funkcí, struktur a tříd

Praktické tipy:

Třídy vs struktury:

Psaní komentářů