Update language discussions authored by Heiko Overath's avatar Heiko Overath
* `C++ Standard 17`: nt. cf. #208 * `C++ Standard 17`: We use c++17 cf. #28
* `Forward declarations`: Avoid wherever possible. cf. #56
* `auto`: use it *only* to express intent. cf. #208 * `auto`: use it *only* to express intent. cf. #208
* `boost`: Only use packages that are specified in this [list](what-boost-to-use) (if you need more, discuss it) cf. #100
* `Return by const ref or value`: We prefer return by value over `const ref` unless we know we pass out _really_ big objects, e.g. a `string` containing the contents of a file. cf. #114
* `Rule of 5`: If you have a user-defined destructor, copy constructor, copy assignment operator, move constructor or move assignment operator, you have to have all 5. cf. #179
* `final`: use to communicate intention. cf. #200
* `constexpr`: allowed, but only if `const`/`constexpr` are used consistently inside a class. cf. #200
* `noexcept`: not to be used since we aim at not throwing exceptions. cf. #200
* `exceptions`: Throw exceptions for not recoverable failures in constructors. cf. #314
* `friend`: Avoid where possible. cf. #206
* `Method length`: Break up functions to the point where they only do one thing if possible. cf #122
* `Translation & Rotation`: Instead of Position and Orientation. cf #159
\ No newline at end of file