Skip to main content
warning

🚧 This document is still being actively worked on and is subject to change. 🚧

Responsible
  • Gianluca Ielpo
  • Aaron Bojarski
Last Updated10/12/2025, 12:48:54 PM
Last AuthorKai Berszin

Code Quality

Formatting​

clang-format is used to ensure a consistent style.

Linting​

Naming Convention​

Follow the Google C++ Styleguide naming.
The packages are defined in the software architecture.

Documentation / Comments​

The software interfaces are specified in the corresponding header files using doxygen-style blocks.
Low-level implementation details are documented at a function level, higher-level strategies and communication flows are documented in the corresponding implementation page.

Testing​

Unit Testing [1]​

Applied during developement [2].
Useful input in Unit-testing (embedded) C applications with Ceedling.

Integration Testing [1]​

  • Can be done in simulation
  • Should be done on the FlatSat

System Testing [1]​

  1. FlatSat (once available)
  2. Automated regression testing using GitHub Actions and self-hosted runner
  3. Engineering and Qualification Model (once available)

References

[1] O. Tl and G. Ielpo, ‘SAGE-SYS-SW’, Mar. 2024.
[2] G. J. Holzmann, ‘The Power of 10: Rules for Developing Safety-Critical Code’.