型ヒントを利用するメリット
コードベースに前提条件や制限を直接コードに落としこめるようになり、将来の読み手が推論しなくて済むようになる。さらに型チェッカを併用することで、コードについて厳密な保証をして貰える。
Optional型
背景
None値はまさに10億ドルの過ちである。うっかり見逃すと、プログラムはクラッシュするようになり、ユーザが不満を抱え、売り上げに響く。
使いどころ
Optional型を使って他の開発者にNoneへの警戒をよびかける。
Union型
背景
表現可能な状態(データ型)が多くなるほど、開発者が誤って実装する確率が高くなる。
使いどころ
Union型を使って表現できる状態(データ型)の数を必要最低限にする。
Literal型
背景
表現可能な状態(値)が多くなるほど、開発者が誤って実装する確率が高くなる。
使いどころ
Literal型を使って表現できる状態(値)の数を必要最低限にする。
Annotated型
背景
Literal型では、一定サイズ以下の文字列や特定の正規表現にマッチする文字列だけに有効な値を制限できない。
使いどころ
Annotated型を使って任意のメタデータ(3以上100以下の値など)を指定して値を制限できる。
NewType型
背景
既存のデータ型を複数の状態に分割したい。
使いどころ
NewType型を使って既存のデータ型から、その既存型のすべてのフィールドとメソッドを持つ新しいデータ型を作る。
Final型
背景
変数の値が意図せず書き換えられてしまう。
使いどころ
Final型を使って変数の値を変更できないようにする。