Repository navigation
v0.1.1
適用基準の 2 つの除外を明確にした。判断の内容は変えていない。
変更
- 「取得キーの集合が空になる」の除外に適用範囲を書いた。呼ぶ取得の操作は変わらず、渡すキーの数だけが変わる場合に限る。取得するかどうかが判断で変わり、その取得がキーの集合を取らない形(ある主体に紐づく一覧、集計、存在確認)なら、空のキーに畳めないので Decision にする
- 「判断と取得の往復が 1 回で終わる」の除外に境界を書いた。取得するかどうか自体が変わる場合は「取得の操作が 1 つに固定されている」に当たらない。キーの型では「取らない」を表せず、
Optionにすると判断が interpreter 側に戻る - 候補が空のときのガードの扱いを 1 段落足した。interpreter 側にガードを置いても、空のキーのまま呼んでもよい。ガードは性能上のもので、設計原則が domain に出すことにしている「判断を伴う取り出し」には当たらない
きっかけは #1 に書いた。判断の結果によって後続の取得を行うかどうかが変わるケースで、除外に当たるかどうかで読み手によって結論が割れた。
取り込み方
版を固定しない取り込みは main から取る。
curl -o .claude/rules/decision-pattern.md \
https://raw.githubusercontent.com/tomoemon/go-decision-pattern/main/rule/decision-pattern.mdツールで版を固定している場合は、上げてから書き出し直す。
go get -tool github.com/tomoemon/go-decision-pattern/cmd/decision-pattern@v0.1.1
go tool decision-pattern rule -path "domain/**/*.go" -o .claude/rules/decision-pattern.mdこの版の本文はこのリリースにも添付してある。タグ時点の内容を 1 つの URL で取りたい場合に使える。