3. All projects must have a tests, main shared and static library and executable file for using a main library. For more information about structure projects see [this](ProjectStructure.md) guide.
> Do not worry. All targets alredy support in our [CMake](https://github.com/QuasarApp/CMake) toolchains and [CMakeProject](https://github.com/QuasarApp/CMakeProject) templates.
5. All functions and classes must be documented using doxygen comments. For more information about syntaxis of the doxygen comments see the [doxygen](https://www.doxygen.nl/manual/docblocks.html) documentation
> Example:
``` cpp
/**
*@brief qHash are Simple hash function of the Random object
*@param rand are Input data.
*@return crc32 hash code.
*/
uint qHash(Random rand);
```
6. All develops library classes must be implemented on the library namespace to avoid conflicts with the names of other libraries.