もう検査例外を求めない!KotlinのRailway Oriented Programming by kotlin-result by Yuito Sato

Kotlin Fest 2024
ロング(40分)
Webバックエンド/サーバサイド 中級者

もう検査例外を求めない!KotlinのRailway Oriented Programming by kotlin-result

Yuiiitoto Yuito Sato Yuiiitoto
5

Kotlinによる開発の難しさの一つにエラーハンドリングの難しさが挙げられます。
KotlinではJavaと違い検査例外がないため関数の呼び元でエラーハンドリングを強制できません。また、どのエラーに対応するべきかは中身の実装を見る必要があります。

この問題の解決策として、Railway Oriented Programmingとその実装としてOSS kotlin-resultを紹介します。

Railway Oriented Programmingでは正常ケースと異常ケースの2つのレールを型で表現しながら開発する手法です。
異常ケースが型で表現されるためエラーハンドリングのミスがコンパイラーフェーズで気付けるようになります。
具体的には関数型プログラミングにおけるResultやEitherという成功値かエラー値かのどちらか一方の値を持ったデータ構造を使ってエラーハンドリングを行います。