Files
gartenmanager/docs/development-standards.md
Faultier314 f301cd4044 chore: initial project setup with documentation
Add CLAUDE.md, development standards, project structure docs,
and domain model skeleton for the Gartenmanager project.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 21:53:57 +02:00

2.0 KiB
Raw Blame History

Entwicklungsstandards

Allgemein gültige Standards für die Arbeit in diesem Repository.


Sprache

  • Code-Bezeichner (Variablen, Funktionen, Klassen, Dateinamen): Englisch
  • Domänenobjekte (z. B. Pflanze, Beet, Aussaatkalender): Deutsch erlaubt, wenn es die Lesbarkeit erhöht
  • Commit-Messages: Englisch, Imperativ (Add, Fix, Refactor)
  • Dokumentation & Kommentare: Deutsch

Git

Branching

main           stabiler Produktionsstand
feature/<name>  neue Features
fix/<name>      Bugfixes
chore/<name>    Wartung, Abhängigkeiten, Konfiguration

Commit-Messages

Format: <type>: <short description> (max. 72 Zeichen)

Type Wann
feat Neues Feature
fix Bugfix
refactor Code-Umbau ohne Verhaltensänderung
test Tests hinzufügen/anpassen
docs Nur Dokumentation
chore Build, Dependencies, Konfiguration

Beispiel: feat: add watering schedule to plant detail view


Code-Qualität

  • Keine auskommentierten Code-Blöcke committen
  • Keine console.log / print-Statements in Produktionscode
  • Funktionen bleiben klein und haben eine einzige Verantwortung
  • Keine spekulativen Abstraktionen erst abstrahieren, wenn ein Muster dreimal vorkommt

Testing

  • Unit-Tests für Geschäftslogik (Berechnungen, Transformationen)
  • Integrationstests an Systemgrenzen (API, Datenbank)
  • Keine Mocks für die Datenbank in Integrationstests
  • Testdatei liegt neben der zu testenden Datei oder in einem __tests__/tests-Verzeichnis auf gleicher Ebene

Fehlerbehandlung

  • Fehler nur an Systemgrenzen abfangen (User-Input, externe APIs, Datenbankzugriff)
  • Intern Fehler propagieren, nicht still schlucken
  • Keine Fallbacks für Szenarien, die nicht eintreten können

Abhängigkeiten

  • So wenig externe Abhängigkeiten wie möglich
  • Vor dem Hinzufügen einer Bibliothek prüfen: Wird sie wirklich gebraucht?
  • package.json / Lockfile immer committen