2.7 KiB
2.7 KiB
PERSÖNLICHE PRÄFERENZEN
TECH-STACKS
Frontend
- Framework: React, Next.js
- Styling: Tailwind CSS
- Language: TypeScript
- State: React Context, Zustand (bei Bedarf)
Backend
- Framework: Django 5.2+, Django REST Framework
- Language: Python 3.12+
- Task Queue: Celery mit Redis
- Optimization: PuLP, FICO Xpress
Database
- Production: PostgreSQL
- Development: SQLite
- Cache/Broker: Redis
Infrastructure
- Container: Docker (Multi-Stage Builds)
- Orchestration: K3s
- Monitoring: Prometheus, Loki, Grafana
- CI/CD: GitLab CI
CODING STYLE
Python / Django
- Type Hints: Immer verwenden (
str | NonestattOptional[str]) - Docstrings: Google-Style für öffentliche APIs
- Imports: Absolute Imports bevorzugen, gruppiert (stdlib, third-party, local)
- Line Length: 88 Zeichen (Black-Standard)
- String Quotes: Double Quotes für Strings
- F-Strings: Bevorzugt gegenüber
.format()oder%
Django-spezifisch
- Views: Fat Models, Thin Views
- Queries: Immer
select_related/prefetch_relatedfür Relations - Naming: Models singular (
Match), related_name plural (matches) - Managers: Custom Manager für häufige Queries
TypeScript / React
- Components: Functional Components mit Hooks
- Naming: PascalCase für Components, camelCase für Funktionen
- Props: Destructuring im Funktions-Signatur
- CSS: Tailwind Utility Classes, keine Custom CSS wenn vermeidbar
Allgemein
- Comments: Englisch im Code
- No Magic Numbers: Konstanten mit sprechenden Namen
- Error Messages: Hilfreich und kontextbezogen
- DRY: Duplikation erst ab 3. Vorkommen abstrahieren
WORKFLOW
Dokumentation
- Format: Markdown
- Sprache: Deutsch für Nutzer-Dokumentation, Englisch für Code-Docs
- Tool: MkDocs mit Material Theme
Git
- Commits: Konventionelle Commit-Messages (feat, fix, refactor, docs, test)
- Branches:
feature/,fix/,refactor/Prefixes - PRs: Klare Beschreibung, Test-Plan, Reviewer zuweisen
Testing
- Unit Tests: pytest / Django TestCase
- Coverage: Minimum 80% für kritische Pfade
- Mocking:
unittest.mockoderpytest-mock
Code Review
- Fokus: Security > Correctness > Performance > Style
- Feedback: Konstruktiv, mit Alternativen
- Blocking: Nur bei Security/Correctness Issues
ABNEIGUNGEN (Was ich NICHT will)
- Over-Engineering ohne konkreten Nutzen
- Premature Optimization
- Magic Imports (implizite Abhängigkeiten)
- Riesige Commit-Messages ohne Substanz
anyTypes in TypeScript- Undokumentierte Public APIs
- Tests ohne Assertions
Letzte Aktualisierung: 2026-02-04