データ変換の連鎖
理想的なHaskellのソースは,
- 欲しいデータの性質を記述したもの?
- データの変換手順だけを記述したもの?
関数型というコンセプトの要は、ビジネスロジックを「データの変換」と捉えることにある。
型の細分化
データの意味と型をできる限り一致させるべき.
変換後のデータが既存の型で表せるとしても
新たな型を作り,別の意味を持つデータであることを明示すべきだ.
機能が必要十分―最小のものを使う
MaybeモナドをListモナドで代用してはいけない
事例:返す値の個数が0個か1個の関数なのに,Listモナドを使った.
結果:「値の個数が1個以上の場合があるのではないか?」というモヤモヤ感を抱えることになった.