JSConf JP

Himenon

HimenonHIMENON(he)

Webフロントエンドの周辺に生息しているソフトウェアエンジニア。常に「画面からでろ」と自分言い聞かせて早数年。株式会社ハイヤールーでコードを書いています。

Track C
13:30-14:00(30 min)

TypeScriptで型定義を信頼しすぎず「信頼境界線」を設置した話

  • Japanese

TypeScript は静的型付けを持つ言語なので、外部からの入力について CやC++、Goなどと同じぐらいの安全性があると思いがちです。その結果、「ユーザーからの入力」や「APIによるデータの送受信」「UI側での情報更新」などで型定義を信頼しすぎて、入力値の確認を怠っていませんか?

HireRoo では型定義を信頼しすぎた結果、失敗してしまった事例がありました。その失敗事例では型定義だけでは防げない事象があり、サーバサイドはもちろん、クライアントサイドでもバリデーションを行う必要がありました。

本登壇では、型安全な処理を実現するために必要な値の信頼できる区間「信頼境界線」を設置し、信頼できない区間からやってくるデータを入念にテスト出来るようにしたり、境界を明確化することで意思疎通が早くなった話など、実際に改善をおこなった事例を話します。