Skip to content

Contract with Ricsi

Péter Kardos edited this page Apr 27, 2018 · 4 revisions

Exclusive rights of Ricsi:

  • maintained modules: Editor, GuiEngine and Core
  • create and organize classes inside maintained modules
  • design and implement algorithms for maintained modules
  • add new unit tests to the unit test project under the folder corresponding to the module name
  • create solo test projects, at most one per maintained module

Collaborative rights of Ricsi:

  • request or implement features in the base library; naming, design, interface and directory placement must be approved or set by Péter
  • design the external interface of maintained modules; the design will be approved as long as it does not tightly couple modules and does not introduce bidirectional or circular module dependencies (not arguable)
  • propose additions to the math library, especially 2D geometry useful for GUI applications
  • request third party libraries to be added to externals

Duties of Ricsi:

  • follow the coding standard provided in inline engine wiki, which includes but is not limited to:
    • naming conventions
    • exception handling
    • smart pointers and RAII
    • error handling with assertions
    • usage of language features, particularly C++11, 14 and 17
  • accept decisions on how engine code is distributed into modules
  • accept decisions involving the build system
  • accept decisions on choosing and approving third party libraries
  • accept decisions on whether in-source compilation of third party libraries is accepted

Additional:

  • coding standards are subject to change as new language features are available and new questions arise
  • coding standards are set by Péter

Clone this wiki locally