ポエム:LLM時代のライブラリ設計、LLMが書きやすいものにした方が良いので泣く泣く方針転換した
ARANK
本当は、今でもRailway Oriented Programmingで書きたい!注:この記事は筆者の考えを書き出したものをLLMを使って編集してまとめ上げています。株式会社ジェイテックジャパン CTOの高丘 @tomohisaです。私は Railway Oriented Programming が好きで、C#で実現するために ResultBox というライブラリを作り、自社のイベントソーシングライブラリ Sekiban にも組み込んできました。自分がメインで作る小さなプロジェクトでは問題なく機能していましたが、チーム開発とLLM時代の到来により、方針転換を決断しました。この記事は、自分の好みよりチームとLLMとの協働性を優先した、ライブラリ開発者の決断の記録です。Railway Oriented Programmingの魅力Railway Oriented Programming(ROP)は、Scott Wlaschin氏が提唱したエラーハンドリングのパターンです。F#などの関数型言語で一般的な Result<T, E> 型を使い、成功と失敗の2つのレールを走る列車のように、処理を連鎖させていく手法です。例外を投げるのではなく、エラーを値として扱うため、エラーハンドリングが明示的になり、型システムがエラーケースを強制してくれます。関数の合成も容易で、テストもしやすい。この…