Developing a kernel feature

Coding Guidelines

Developers should adhere to the following guidelines when developing new functionalities in the Kernel:

  • Always document your changes. If you modified a function/variable/class, check if the documentation is still correct. If you developed a new function/variable/class, add a brief comment above the declaration in the header file and a detailed comment (including an explanation of the in- and output variables) above the definition in the source file.
  • We use C++11 commands. Our general guideline is to only use commands that have been implemented in the common C++ compilers for at least 24 months, which includes most of the C++11 standard.
  • Each feature should be tested; see Testing section below for details.
  • Please adhere to the coding style, see http://MercuryDPM.org/development/coding-style-of-the-kernel.

Insight into the code

The Introduction to the Code is a useful document to gain insight into the existing code.

Testing

See Testing your code.

Committing your code to SVN

See Committing your code to SVN.

Logging

See How to use the logger.

Implementing a new contact law

See Implementing a new contact law.