第3章
「外部の検査機関APIから検査結果を取り込みたい」
執筆中
降ってくる要件
「外部の検査機関APIから血液検査・尿検査の結果を取り込んでカルテに紐づけたい」という要件に対し、当初は as ExamResult で型を黙らせて実装していました。本番で undefined 参照によりサービスが落ちます。
既存コードを動かしてみる
git checkout step-03-start
pnpm test
素朴にエージェントに依頼してみる
本章は執筆中です。
何が痛いのか
型検査は通るのに、ランタイムで構造が前提と違う値を受け取って落ちます。これは型検査の境界を理解せずに as を使ったときに起こる典型的な事故です。
どう直すか — 原則の紹介
本章で導入する原則:
- Zod スキーマによる境界防御
- Always-Valid Domain Model
asからsafeParseへの移行
リファクタを進める
本章は執筆中です。
章末の姿と次章への布石
次章では「ペットIDと飼い主IDを取り違えた」という事故を起点に、Branded Type を導入します。