March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
大半の開発者は型アノテーションの初歩を学んで満足するが、学ぶべきことはまだたくさんある。型アノテーションには価値ある高度な機能が多く含まれる。高度な型アノテーションを使うと、データ型に制約を加え、データ型が表現できるものをさらに制限できる。目標は、意図しない状態を表現できないようにすることだ。システム内で矛盾するデータ型、無効なデータ型を物理的に作れないようにすべきだ。最初から間違ったコードが書かれなければ、コードベースにエラーは紛れ込まない。型アノテーションを使えば、この目標を達成して時間とコストを節約できる。この章では6種類の型制約テクニックを説明する。
OptionalNone参照を置き換える。UnionLiteralAnnotatedNewTypeFinalそれではOptional型でNone参照に対処する方法から始めよう。
null参照は「10億ドル級の過ち」と呼ばれることが多いが、これはアントニー・ホーアが最初に述べたことだ。
私が10億ドル級の過ちと呼ぶものがある。それは1965年にnull参照を発明したことだ。当時、私はあるオブジェクト指向言語(ALGOL W)における参照のために最初の包括的な型システムを設計していた。私の目標は、コンパイラの自動チェックにより参照を使っているすべての箇所を完全に安全にすることだった。しかし、ただ実装が容易になるというだけの理由で、null参照を認めるという誘惑に勝てなかった。そのために無数のエラー、脆弱性、システムクラッシュが発生することになった。これらはおそらく過去40年で10億ドル分の苦痛と損害を引き起こしたはずだ ...
Read now
Unlock full access