diff --git a/Developming.md b/Developming.md new file mode 100644 index 0000000..2ce514f --- /dev/null +++ b/Developming.md @@ -0,0 +1,51 @@ +# Developing in the QuasarApp group + +QuasarApp group developing guid. In this page collected all guides for using programming languages. + +## C++ + +### Creatin a new repository. +For build c++ projects QuasarApp group use the CMake build system. +1. All new projects should be created using our [cmake](https://github.com/QuasarApp/CMakeProject) tempalte. +2. All files of the projects must be signed copyright. + > Copyright example: + ``` cpp + + //# + //# Copyright (C) 2021-2021 QuasarApp. + //# Distributed under the lgplv3 software license, see the accompanying + //# + ``` +3. All projects must be 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. + +4. All projects should be support next cmake targets: + * test - for run tests. + * deploy - for create a distribution kits. + * release - for prepare signed distro pacakges and update repositories + * doc - for generate technical documentation. + > Do not worry. All This targets alredy sopports in the our [CMake](https://github.com/QuasarApp/CMake) toolchains and [CMakeProject](https://github.com/QuasarApp/CMakeProject) template. +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. + > Example + ``` cpp + namespace QH { + + /** + * ... + */ + class PKG { + // ... + } + } + ``` + +# And good luck it will be useful to you 😉 \ No newline at end of file diff --git a/README.md b/README.md index 20aa02b..9ed9301 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,4 @@ Guidelines of Development in QuasarApp ## List of Guidelines: 1. [Project structure](ProjectStructure.md) 2. [Contribution in the QuasarApp group.](Contribution.md) +3. [Developing in the QuasarApp group.](Developming.md)