| name | doxygen |
| description | Inline documentation standard for the pool-controller C++ codebase using Doxygen. Use when asked to add, review, or fix inline code documentation. 🇩🇪 Deutsche Trigger: Inline-Dokumentation, Doxygen-Kommentare, Code-Dokumentation ergänzen, Quellcode dokumentieren. |
Doxygen Documentation Standard
This project uses Doxygen (/** ... */) for all inline code documentation.
PlatformIO/Arduino ecosystem standard — also used by ESP-IDF and most embedded
C++ libraries.
Scope
- Every header file (
*.hpp) must have:
- A file comment with
@file and @brief
- A class/struct comment with
@brief
- Public method comments with
@brief, @param, @return where applicable
- Every source file (
*.cpp) must have a file comment with @file
and @brief
- Private methods may have lighter comments; use a single-line
/** ... */
for trivial getters/setters
- Constants, macros, enums get a
/** @brief ... */ comment
Style
File Header
Class/Struct
class RelayModuleNode final {
Public Method (full)
auto parseTime(const char* timeStr, uint8_t& outHours, uint8_t& outMins) -> bool;
Simple Getter/Setter (single line)
static auto getFreeHeap() -> uint32_t;
Free Function (namespace scope)
auto isMeasurementDue(uint32_t lastMeasurement, uint32_t intervalSeconds) -> bool;
Constants / Macros
static constexpr uint32_t TEMP_READ_INTERVAL{30};
static constexpr uint16_t MQTT_DEFAULT_PORT{1883};
Tags Used
| Tag | When to use |
|---|
@brief | Required on every documented symbol — one-line summary |
@param | Every function parameter, unless trivially obvious |
@return | Every non-void return, unless trivially obvious |
@note | Important caveats, edge cases, threadsafety |
@see | Cross-reference to related functions/files |
@warning | Dangerous behavior, side effects, 230V safety |
@file | File header only — auto-populated from \file |
@author | Optional — do NOT add; copyright already in file header |
PlatformIO Integration
Generate HTML docs locally:
sudo apt install doxygen graphviz
doxygen
For CI, a Doxyfile can be added at the project root. Currently the docs
are maintained for human readability in-IDE only (no CI Doxygen step).
Verification Checklist