Open4

長いインターフェースを書かないTips

NyumiNyumi

正直誰も300行近くある
interfece {}なんて読みたくない。
それに無駄なreadonlyとか入るかわからないものには?やanyがついていたらさらに読む気をなくしてしまう。
エンジニアにとって読みやすいinterface、そしてユーザビリティにも良い影響をもたらすことができる型定義とはなんだろう(読みやすく扱いやすい型定義は開発者もいい気分で開発できるはず)

NyumiNyumi

TypeAliasでUnion Typesを再利用しよう

こんなコードよりも、

interface before {
   isHoge: 'Y' | 'N';
   isFoga: 'Y' | 'N';
   isHege: 'Y' | 'N';
}

こんなコードがいい

export type YorN = 'Y' | 'N';
interface after {
   isHoge: YorN;
   isFoga: YorN;
   isHege: YorN
}
NyumiNyumi

optional にはTypeGuardという名のチェックを入れよう

function hoge (text?: string) {
  if (text !== undefined) {
    return `${text}`;
  }
  return '';
}
NyumiNyumi

! は non-null assertion

コンパイルエラーを隠すためになんとなく ! をつけていた。
意味は
null | undefinedをはじいている。