Guidelines/Developming.md
Andrei Yankovich 6821f2c71e
Update Developming.md
Co-authored-by: usermeme <romanyankovich98@gmail.com>
2021-04-04 18:00:33 +03:00

1.9 KiB

Developing in the QuasarApp group

QuasarApp group developing guid. This page collected all guides for using programming languages.

C++

For build c++ projects QuasarApp group use the CMake build system.

  1. All new projects should be created using our cmake tempalte.

  2. All projects files must be copyrighted.

    Copyright example:

    
    //#
    //# Copyright (C) 2021-2021 QuasarApp.
    //# Distributed under the lgplv3 software license, see the accompanying
    //#
    
  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 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 packages and update repositories
    • doc - for generate technical documentation.

    Do not worry. All targets alredy support in our CMake toolchains and 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 documentation

    Example:

    /**
    * @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

    namespace QH {
    
        /**
        * ...
        */
        class PKG {
            // ...
        }
    }
    

And good luck it will be useful to you 😉