外側から命名する
/miyamonz/プログラミングの概念名に数学用語つけるのは怖くない?#5d94c611385a9200000c807a
/miyamonz/利用者と提供者のどちらから命名するか
ドキュメントの内容が「知ってないと理解できない」のと似てる気がする
外からの視点を意識せずに書かれている感じ
分かりづらいドキュメントあるある
わかってないとわからない
内側から命名しているのがgetHogeのようなやつか
howを知ったうえでの名前になっているような感じ?
宣言的な命名ってそういうこと?
↑あんまり関係なくない?mrsekut.icon
どちらがどちらのことを知っているかという観点で考えれば良さそう
永続化のためのserializeの要件があったときに、
ドメインの要件であるUserと、
serializeの要件であるJsonがあるとき、
ドメイン側がSerializeのことを知っているようにするなら、
toJson :: User -> Json
fromJson :: Json -> User
という命名になり、User module内に属することになる
逆に、Serialize要件は、ドメインとは別の話、ドメインは感知すべきでない、とみなすなら、
fromUser :: User -> Json
toUser :: Json -> User
とする
この例だと、後者を取ることのほうが多いだろう
ドメインは永続化方法を知る必要がないことが多いので