第4章
「ペットIDと飼い主IDを取り違えた」
執筆中
降ってくる要件
「別のペットのカルテに、まったく関係ない飼い主の連絡先が紐づいてしまった。両方 string だったため、引数の順序を取り違えても型が通っていた」という事故報告が降ってきます。
既存コードを動かしてみる
git checkout step-04-start
pnpm test
素朴にエージェントに依頼してみる
本章は執筆中です。
何が痛いのか
構造的部分型は同じ形を持つ別の概念を区別できません。ペットID・飼い主ID・来院ID・検体ID と並ぶ題材で、その限界が顕在化します。
どう直すか — 原則の紹介
本章で導入する原則:
- Branded Type
asをブランド型ファクトリ専用に閉じる
リファクタを進める
本章は執筆中です。
章末の姿と次章への布石
次章では「エラー処理が if/throw で破綻している」という要件を起点に、Result 型と Railway Oriented Programming を導入します。