mvvmlint
mvvmlint: Zustand geht über das View-Model
go-widgets/mvvmlint schlägt nur in
Paketen an, die das Toolkit importieren.
- Ein von Hand zugewiesenes Zustandsfeld eines Widgets.
entry.Text = "x", wobei der statische Typ vonentryein Toolkit-Widget undTextein Zustandsfeld ist, wird gemeldet.&entry.Text– was die Binder entgegennehmen – ist keine Zuweisung und wird nie gemeldet; ebenso wenig ein zusammengesetztes Literal (toolkit.Entry{Text: "x"}) oder das Zusammensetzen eines Callbacks wieOnChange. - Widgets und kein View-Model. Ein Paket, das das Toolkit importiert, aber nicht
go-widgets/mvvm, erhält eine Diagnose.-requirevm=falseschaltet das für eine Widget-Bibliothek ab, die berechtigterweise kein View-Model hat.
Die Zustandsfelder sind die der Toolkit-Widgets (Text, Items, Rows,
Root, Selected, Value, Checked, …); -statefields= ersetzt die Liste.
Eine Datei namens *_binding.go oder eine, die //mvvmlint:allow enthält, ist von
der ersten Regel ausgenommen.
go install github.com/go-widgets/mvvmlint/cmd/mvvmlint@latest
go vet -vettool="$(go env GOPATH)/bin/mvvmlint" ./...# .github/workflows/mvvm.yml
name: mvvm
on:
pull_request:
push:
branches: [main]
jobs:
mvvm:
uses: go-widgets/mvvmlint/.github/workflows/mvvmlint.yml@mainapp-template wird mit diesem Job ausgeliefert.
Erstellt am von tannevaled
Geändert am von tannevaled