Compare commits

..
8 Commits
Author SHA1 Message Date
martin d1e72419c3 Merge branch 'main' of https://gitea.troeger-net.org/martin/claude-workflow 2026-08-10 07:18:17 +02:00
martinandClaude Opus 5 767f2104c3 docs: Kommentare im Code auf eine Zeile begrenzen
Ein Kommentar beschreibt kurz, was an dieser Stelle passiert. Das Warum gehoert
in die Commit-Message und ist dort in der Git-Historie nachlesbar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 07:15:01 +02:00
martin 2e37e356c6 Merge branch 'main' of https://gitea.troeger-net.org/martin/claude-workflow 2026-08-01 09:19:31 +02:00
martinandClaude Opus 4.8 345a0fdb9e docs: Prinzip "Explizit vor implizit" ergaenzen
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:29:40 +02:00
martin b3759b4b98 Merge branch 'main' of https://gitea.troeger-net.org/martin/claude-workflow 2026-07-09 07:23:19 +02:00
martin bd6c586aec Merge branch 'main' of https://gitea.troeger-net.org/martin/claude-workflow 2026-07-07 14:40:54 +02:00
martin c70f8a9f34 Merge branch 'main' of https://gitea.troeger-net.org/martin/claude-workflow 2026-07-05 10:37:41 +02:00
martin 55d973349f some settings 2026-07-05 10:37:11 +02:00
+2
View File
@@ -16,12 +16,14 @@ Alle Texte, Kommentare und Kommunikation auf Deutsch. Technische Begriffe und Co
- **Keine Magic Numbers:** Konstanten mit Namen versehen - **Keine Magic Numbers:** Konstanten mit Namen versehen
- **DRY mit Augenmass:** Shared Utilities nur bei echtem Mehrfachgebrauch - **DRY mit Augenmass:** Shared Utilities nur bei echtem Mehrfachgebrauch
- **Fail Fast:** Fehlende/ungueltige Konfiguration muss beim Start eine Exception werfen - **Fail Fast:** Fehlende/ungueltige Konfiguration muss beim Start eine Exception werfen
- **Explizit vor implizit:** Zustand oder Absicht nie implizit aus Momentanwerten ableiten (fragil/nicht robust). Trigger deklarieren ihre Absicht ueber ein dediziertes Item/Flag; die auswertende Logik liest dieses Item, statt den Zustand zu erraten
- **Keine generischen `try/except`:** Spezifische Exceptions fangen - **Keine generischen `try/except`:** Spezifische Exceptions fangen
- **Logging statt print:** `logger` verwenden - **Logging statt print:** `logger` verwenden
- **Testpflicht:** Kein Code ohne zugehoerigen Test - **Testpflicht:** Kein Code ohne zugehoerigen Test
- **Security by Default:** Input-Validierung, Auth-Checks, sichere Defaults. Sicherheitskritische Pfade durch Tests absichern - **Security by Default:** Input-Validierung, Auth-Checks, sichere Defaults. Sicherheitskritische Pfade durch Tests absichern
- **String-Eingaben trimmen:** Alle String-Felder beim Anlegen/Update in Services/Schemas trimmen (leading/trailing Whitespace entfernen). Leerstrings werden zu `None`, wenn das Feld optional ist. Verhindert Sortier-/Vergleichs-/Suchfehler durch unsichtbare Zeichen - **String-Eingaben trimmen:** Alle String-Felder beim Anlegen/Update in Services/Schemas trimmen (leading/trailing Whitespace entfernen). Leerstrings werden zu `None`, wenn das Feld optional ist. Verhindert Sortier-/Vergleichs-/Suchfehler durch unsichtbare Zeichen
- **Kleine Funktionen, keine Kommentare fuer Offensichtliches** - **Kleine Funktionen, keine Kommentare fuer Offensichtliches**
- **Kommentare hoechstens eine Zeile:** Ein Kommentar beschreibt kurz, *was* an dieser Stelle passiert (z.B. `// Messwerte pruefen`, `// zu spaet fuer Sperre`, `// Ladestand unterhalb Reserve`). Niemals das *Warum*, keine Begruendungen, keine Messwerte, keine verworfenen Alternativen, keine Mehrzeiler. Das Warum gehoert in die Commit-Message und ist dort in der Git-Historie nachlesbar
- **Keine systemveraendernden Scripts zum Testen ausfuehren:** Scripts die Symlinks, Berechtigungen, Pakete oder Konfiguration aendern niemals "einfach so" ausfuehren. Stattdessen mit `bash -n` (Syntax) oder gezieltem `grep`/`cat` pruefen - **Keine systemveraendernden Scripts zum Testen ausfuehren:** Scripts die Symlinks, Berechtigungen, Pakete oder Konfiguration aendern niemals "einfach so" ausfuehren. Stattdessen mit `bash -n` (Syntax) oder gezieltem `grep`/`cat` pruefen
## Code-Konventionen ## Code-Konventionen