•
Why
◦
“Make illegal states unrepresentable(잘못된 상태를 아예 표현할 수 없게 만들기)” 원칙으로 런타임 버그를 빌드타임에 제거. ex. “discriminated union”
◦
에러를 끄기만 하는게 아니라, 컴파일러를 속이지 않고 타입이 계약을 잘 드러내도록 협업하면 놓친 케이스를 자동으로 에러로 드러내는 안전망이 된다.
•
How
1.
타입 에러를 보면 반사적으로 고치지 않고 Tier 0(단순 에러), 1(케이스 누락), 2(모델 불일치) 중 어디에 해당하는지 검토한다.
2.
Tier 1(케이스 누락), Tier 2(모델 불일치)에 해당하는 것으로 생각될 경우 뭐가 맞는지 따져본다.
3.
각 케이스에 맞게 고친 다음 “tsc야 고마워” 외친다.
•
Expectation
◦
상황 인식: 빨간 밑줄 → “컴파일러가 경계 케이스 발견” 즉시 자각.
◦
패턴 매칭: “타입 먼저 → 구현” 순서 회상.
◦
자동 대응: 타입 시그니처 보강 → 컴파일러 통과 확인 까지가 한 세트로 습관화.
