Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1e72419c3 | ||
|
|
767f2104c3 | ||
|
|
2e37e356c6 | ||
|
|
345a0fdb9e | ||
|
|
b3759b4b98 | ||
|
|
bd6c586aec | ||
|
|
c70f8a9f34 | ||
|
|
55d973349f |
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user