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

2.7 KiB
Raw Blame History

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)

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.