入力値と算出値は明確に区別する
-
要は正規化しようねってやつ
-
算出値を持つ場合は「キャッシュ(一時的・パフォーマンスなどのため・古い可能性がある)」であることを明確に
-
算出値をプロパティごとに毎回計算するのはバグになりやすいので
calculatedHoge = getCalculatedHoge(hogeInput)
みたいな感じにする
-
classは多分このためにあるんだと思う
hoge = HogeClass(hogeInput)
;
-
とはいえ、ひとつのモデルから算出できる値ならいいが、それ以外の場合、全てのデータを取得しなければ行けないと言うのは良くないのでは?
-
そんな混み合ったデータならそれはそれで算出値と分けたほうがいいでしょ
-
ちがう、どんなに混み合っていたとしても、算出値はキャッシュ以外で保存しちゃいけない
-
入力値のミスはユーザーのミス(間違っていることがわかるようにする)が、算出値のミスはシステムのミスだから常に更新できなければいけない