March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
この章ではユーザ定義型について、そしてもっとも単純なユーザ定義型である列挙型について説明する。プログラミングでよくあるエラーからコードを守る列挙型の作り方を示す。さらに、エイリアスの作り方、列挙型を一意にする方法、値の自動生成などを説明する。
ユーザ定義型とは、開発者であるあなたが作るデータ型のことである。開発者はユーザ定義型に与えられるデータと振る舞いを定義する。ユーザ定義型は単一のまとまった概念と結びつけなければならない。他の開発者はユーザ定義型が表す概念を通じてコードベースについてのメンタルモデルを築く。
たとえば、レストランのPOSシステムを作る際はコードベース内でレストランドメインの概念を扱う。レストラン、メニュー、税額計算などの概念は、すべてコード内で自然に表現できなければならない。リスト、辞書、タプルを使っていたら、コードの読み手は変数の意味を絶えず解釈し直さなければならない。
税込みの合計額を計算する簡単な関数について考えてみよう。次の2つの内、どちらの関数を使いたいか†1。
[†1] 監訳注:税率をレストランの住所をキーとして参照するが、たとえばアメリカでは州によって消費税の税率が異なる。
def calculate_total_with_tax( restaurant: tuple[str, str, str, int], subtotal: float ) -> float: return subtotal * (1 + tax_lookup[restaurant[2]]) def calculate_total_with_tax( restaurant: Restaurant, subtotal: decimal.Decimal ...
Read now
Unlock full access