Digitization部 Bill One Entry*1グループの秋山です。
- はじめに
- Domain Modeling Made Functionalというスゴ本
- 補講:Make Illegal States Unrepresentable
- バックエンドの処理を抽象化する
- 手続き型プログラミングの典型例
- 課題1:制約のないエラーハンドリング
- 課題2:低い可読性
- 課題3:エラーハンドリングの低い網羅性
- Railway Oriented Programming
- TypeScriptで型安全にエラーハンドリングする
- ステップ1:サブ関数の出力はResult型で表現する
- ステップ2:サブ関数にResult型を入力できるようにする
- ステップ3:サブ関数を連結する
- ステップ4:網羅的にエラーハンドリングする
- おわりに
- 付録
はじめに
エラーハンドリングは重要な処理にも関わらず、静的型付け言語の恩恵を十分に活かしきれていない領域です。特にTypeScriptを用いた開発では、その発展途上な言語仕様も手伝い、型安全なエラーハンドリングはそもそも実現が難しいという実情がありました。
しかし昨今の周辺ライブラリの発展により、型安全なエラーハンドリングを実際の開発現場で実現できるようになってきました。
この記事ではScott Wlaschinの2018年の書籍『Domain Modeling Made Functional(以後、「DMMF本」)』で提唱されているRailway Oriented Programmingと呼ばれるパラダイムを借り、TypeScriptを用いた開発でどのように型安全なエラーハンドリングを担保できるかを検討していきます。
続きを読む