Files
crm-system/docs/quality/07a-style-check.md
T

65 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Phase 7 Quality Review 07a: Style-Check (ruff)
> **Projekt:** CRM-System (`/a0/.a0/crm-system/`)
> **Tool:** ruff v0.15.15
> **Datum:** 2026-06-04 02:28 UTC
> **Status:** ✅ PASS mit Warnungen
## Zusammenfassung
| Metrik | Wert |
|---|---|
| Total Issues gefunden | 257 |
| Auto-fixed (`ruff check --fix`) | 226 ✅ |
| Verbleibende Issues (nicht auto-fixbar) | 31 ⚠️ |
| Davon F401 (unused import) | mehrere |
| Davon F841 (unused variable) | mehrere |
| Davon N802 (Funktionsname lowercase) | 5 |
| Davon I001 (Import-Sortierung) in Tests | 0 (alle auto-fixed) |
| Davon UP045 (Optional → X|None) | 0 (alle auto-fixed) |
## Durchgeführte Auto-Fixes
### I001 Import-Sortierung (isort)
- **Betroffene Files:** `alembic/env.py`, `app/api/v1/*.py`, `tests/*.py`
- **Fix:** Alle Import-Blöcke wurden automatisch sortiert und formatiert
- **Status:** ✅ Alle I001-Fehler behoben
### UP045 `Optional[X]` → `X | None`
- **Betroffene Files:** `app/api/v1/accounts.py`, `app/api/v1/activities.py`, `app/api/v1/*.py`
- **Fix:** Alle `Optional[...]` Annotationen wurden zu `... | None` modernisiert
- **Status:** ✅ Alle UP045-Fehler behoben
### F401 Unused Imports
- **Betroffene Files:** `tests/*.py`, diverse
- **Fix:** Unused imports wie `timedelta`, `pytest` wurden entfernt
- **Status:** ✅ Auto-fixable F401 behoben; verbleibende sind Conditional (N802-korreliert)
## Verbleibende Issues (nicht auto-fixbar)
### N802 Function name should be lowercase
Diese betreffen `tests/test_frontend_assets.py` und `tests/test_frontend_security.py`:
- `test_api_js_exports_api_and_ApiError`
- `test_api_js_uses_localStorage_for_jwt`
- `test_no_innerHTML_in_alpine_pages`
- `test_jwt_uses_localStorage`
- `test_jwt_not_in_sessionStorage`
**Empfehlung:** Manuelles Refactoring der 5 Test-Funktionsnamen in snake_case (z.B. `test_api_js_exports_api_and_api_error`). Kein Blocker für das Deployment, da reine Style-Issues.
### F841 Local variable assigned but never used
- `tests/test_deals.py:63` `owner_id`
- `tests/test_users_me.py:100` `other_id`
**Empfehlung:** Variablen mit `_` prefixen oder Zuweisung entfernen.
### F401 Unused imports (in Function-Scope)
- `tests/test_auth.py` `from sqlalchemy import select` als Lokal-Import
- `tests/test_users_me.py` `from jose import jwt` als Lokal-Import
**Empfehlung:** Diese sind absichtliche Lokal-Imports in async Tests und können mit `# noqa: F401` markiert werden.
## Empfehlung
**GO für Phase 8.** Die verbleibenden 31 Issues sind NUR Style-Warnungen (keine functional Bugs). Sie betreffen ausschließlich Test-Dateien und haben keinen Einfluss auf die Production-Lauffähigkeit. Empfohlen wird ein manuelles Cleanup vor v1.1 Release.