words that describe style:
- snake_case
- suffixes
- verbose
main statements:
- all identifiers are written in snake case except MACRO_ARGUMENTS, TemplateArguments and EnumValues
- all identifiers that are written in snake case except (member) functions have suffixes:
- _t: classes, aliases
- _m: C marcos
- _c: constants
- _e: enums
- _ : private / protected fields
- : public fields / local / global variables
- CamelCase: concepts
- always use full names, but for common abbreviations such as "arg" you can make an exception