コンポーサブル
#設計 #設計原則 #プログラミング
副作用のない関数(Side-Effect-Free Functions)ということ
関数を分割/凝集させる際はデータへの関心でまとめる
以下の特性を持っている
環境に依存しない
副作用を持たない
合成容易性が高く
インタフェースの小さい
参照透過性を持つ
冪等性
何度実行しても入力と出力のセットは同じなため処理の予測可能性が高くリグレッション管理が楽になる
合成容易性の例
モナド
Rx
iterator helpters
圏論だと変性という語彙で表現したりする