純粋関数基礎 - 嬉しいこと尽くしな純粋関数を開発に組み込もう! by 河野裕隆

BuriKaigi 2025
採択
レギュラートーク(30分)

純粋関数基礎 - 嬉しいこと尽くしな純粋関数を開発に組み込もう!

hk_it7 河野裕隆 hk_it7
1

純粋関数という言葉をご存知でしょうか?
引数が同じなら常に同じ結果を返し、副作用のない関数を純粋関数と言います。

この純粋関数の基礎的な部分から、純粋関数を使うことによる良さを説明します。
そして、既存の関数を少しずつリファクタリングしていく過程を通して、開発に組み込むことを支援します。

目次は次の通りです。

  • 純粋関数とはなにか
  • 純粋関数の実例
  • 純粋関数によって嬉しいこと
    • テスト容易性
    • 副作用による不具合の防止
    • 関数の詳細を追わない技術
  • 純粋関数への置き換え方法考察

サンプルコードの言語はJava/TypeScriptを利用する予定ですが、設計パターンの一つとしてどの言語でも役に立つ考え方となります!

なおこのセッションでは以下を目的としません

  • 全てのプログラムを純粋関数で記述すること
  • Haskell等の純粋関数型言語の利用