clang-linting-demo/extras.md

19 lines
724 B
Markdown

# Extra rules
These are rules that can't be captured directly
by clang-format / clang-tidy.
* Use .hpp for C++ headers, .cpp for C++ files
* \#pragma once
* includes:
- double-quotes for ebee-developed applications
- angular brackets for external projects / system headers
- full relative path from src/ folder
- for libraries: public includes in a folder separated from private includes
- includes ordered by most specific to most generic
- for libraries: mark interfaces available externaly with a `DLL_EXPORT` macro for `__attribute__((visibility("default")))`
## TODO
- change xgettext parameter to "--add-comments" to TRANSLATORS in CMakeLists.txt
- remove bundled doctest.h or trompeloeil from project