The General Utility Library strives for a very high quality level.
This is ensured by following a set of best practices:
- Style: Code must adhere to the MCS style guide for C++ and it should follow the C++ Core Guidelines.
- Documentation: Every function, type, or other entity in the API must be fully documented via Doxygen. This includes a clear description of purpose and functionality. For functions, all parameters, return values, thrown exceptions, and pre-/postconditions are described. For classes, all class invariants are clearly stated.
- Unit tests: Every entity in the library must have a set of associated unit tests.
- Code review: Every commit to the library must be signed off by at least two developers. Every developer must ensure that all of the other quality criteria are fulfilled.