Code style and formatting

We aim for a consistent and readable coding style. You do not need to worry about styling if you use the right tools we present in the following. Please also enable pre-commit in your repository to have these check run automatically for you on every commit!

C++

Use clang-format. It can be added to be automatically run on save in your editor / IDE:

The current style is defined in .clang-format.

Python

Use black. It can be added to be automatically run on save in your editor / IDE:

black is also run by our pre-commit-hooks. To run manually:

pre-commit run black --all-files

CMake

Use cmake-format. It can be added to be automatically run on save in your editor / IDE:

The current style is defined in .cmake-format.yaml.

On installation make sure to install with the YAML option:

pip install cmakelang[YAML]

Build targets

You can run clang-format and cmake-format on the full OGS code base by building the following targets:

Language Shows formatting Applies formatting
C++ clang-format fix-clang-format
CMake cmake-format fix-cmake-format

This article was written by Lars Bilke. If you are missing something or you find an error please let us know. Generated with Hugo 0.96.0. Last revision: May 31, 2022
Commit: [vale] web/content/docs/devguide. 8705d8c  | Edit this page on