Software Quality Management Plan

This is the 2020 Software Quality Management course artifact. Keep it as process history. It is not the 2.x contributor handbook.

Live contribution:

The 2020 product was one yodaStruct binary, YAML plus Lua, CMake or the old Nix derivation. 2.x is libyodaLib plus seams / pydseams / require("dseams"). Runtime knobs are twelve-factor (SEAMS_CONFIG / seams.env). There is no yodaStruct -c / conf.yaml driver.

Repository details (2020 text, still true in spirit)

  • Development is public on GitHub
  • The C++ engine is here
  • The wiki is here

Style Guide

The 2020 diversity note listed a C++ back-end, a Lua front-end, YAML input, Nix+CMake, and OVITO. That mix is what the style guide was written for.

What still applies: clang-format, namespaces, Catch2, Doxygen with formulae and citations, public PRs.

What does not: YAML as the engine config, CMake as the live build, "every C++ function must have a Lua binding", yaml-cpp / cxxopts as engine dependencies.

Docs

  • Documentation is the single source of truth. The GitLab style-guide is still a good starting point.
  • Every change should be documented, along with the rationale.

The live books are Diataxis: docs.dseams.info, pydseams, dseams.