関数型設計原則テスト容易性 2026年4月1日

純粋関数(Pure Function)

📁 概念 👁 -- 閲覧

純粋関数(Pure Function)

定義

同じ入力に対して常に同じ出力を返し、副作用を持たない関数。

f(x) → y  // 同じxなら常に同じy、外部状態を変えない

なぜ重要か

副作用がないため:

  • テストが入力/出力の検証だけで完結する
  • 実行順序に依存しないため並列化・合成が安全
  • 動作をコードを読むだけで理解できる(実行しなくても推論できる)

適用場面

  • ドメインロジックの中核(計算・変換・バリデーション)
  • テストしたいが副作用が邪魔な箇所を純粋関数に切り出す

関連概念

出典

関数型ドメインモデリング(Scott Wlaschin)