Browse Source

Add README.md

master
heck 3 years ago
commit
7aa9e04242
  1. 56
      README.md

56
README.md

@ -0,0 +1,56 @@
# <PROJECT_NAME>
## Resources
* Repository: <REPO url here>
* Change management: <JIRA url here>
* Doc: <Wiki link here>
* Maintainer: <e-mail here>
* Build-maintainers:
* Build windows: <e-mail here>
* Build android: <e-mail here>
* ...
## Requirements & Platforms
<Please add here the technical requirements of the project>
* License: GPL3
* C++ standard: C++11 (or newer, but consider portability)
* supported compilers: gcc/clang (must be supported at least)
* Build sytem: GNU Make (Linux, macOS)
## Coding conventions
* Code-formatting: use clang-format
* Please try to use the .clang-format with the least necessary changes (maintainability and consistency within pEp)
* static-analysis: use clang-tidy
* Please try to use the .clang-tidy with the least necessary changes (maintainability and consistency within pEp)
### Filenames
implementation: .cc
header: .hh
template-implementation: .hxx
### Namespaces
all pEp source code must be in a top level namespace 'pEp'.
With this exception all other nested namespaces must be in 'CamelCase'
#### using namespace
it is never encouraged to do 'use namespace std;'. In header files it is actually forbidden, and in implementation files it is
stronly discouraged, because as soon as you want to templatize, the 'using namespace' directive has to be replaced with explicit 'std::' prefixes,
because the templateized implementation will have to be in a header file extension (.hxx)
This applies strongly for the namespace 'std' and needs to be carefully considered for all other namespaces.
### Include guards
Do not use #pragma once , use #ifdef/#define style (portability reasons)
naming key: <PROJECTNAME>_<FILENAME> (e.g. `LIBPEPDATATYPES_FILENAME_HH`)
### Identifiers
* types: all types must start with an uppercase letter, CamelCase is recommended.
* variables: snake_case is recommended
* functions: snake_case is recommended
Loading…
Cancel
Save