Skip to content

[CODINGSTANDARD] Direkte Vuex-State-Mutationen durch definierte Store-Operationen ersetzen #552

Description

@ralferlebach

Problem

Der Frontendcode schreibt wiederholt direkt in store.state, beispielsweise für Ansicht, Benutzer, Lernpfad-ID und Kontext. Das umgeht Vuex-Mutationslogik und erschwert Debugging und Reaktivität.

Ursache

Die Initialisierung verwendet den Store als frei beschreibbares Objekt statt als kontrollierten Zustandscontainer.

Lösung

  • Für alle Änderungen Mutations oder klar definierte Store-Actions einführen.
  • Initialisierungsdaten zentral normalisieren und typisieren.
  • Direkte Schreibzugriffe per ESLint verbieten.
  • Store-Tests ergänzen.

Manuelles Testverfahren

Testschritte

  1. Alle Ansichten initialisieren und zwischen Routen wechseln.
  2. Vuex-Devtools beziehungsweise State-Verlauf prüfen.

Aktuelles Ist-Verhalten

Der Frontendcode schreibt wiederholt direkt in store.state, beispielsweise für Ansicht, Benutzer, Lernpfad-ID und Kontext. Das umgeht Vuex-Mutationslogik und erschwert Debugging und Reaktivität.

Erwartetes Soll-Verhalten

Keine direkte Mutation außerhalb des Stores.

Automatisierte Tests

  • Unit-Tests für Store-Initialisierung und Routenwechsel.
  • ESLint-Regel gegen direkte Mutation.

Akzeptanzkriterien

  • Keine direkte Mutation außerhalb des Stores.
  • State-Änderungen sind nachvollziehbar und reaktiv.
  • Bestehende Ansichten bleiben funktional.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions