이펙티브 타입스크립트(7)

남자김용준·2021년 11월 8일
0

아이템28. 유효한 상태만 표현하는 타입을 지향하기

유효한 상태와 무효한 상태를 둘 다 표현하는 타입은 혼란을 초래하기 쉽고 오류를 유발한다.

유효한 상태만 표현하는 타입을 지향해야 한다. 코드가 길어지거나 표현하기 어렵지만 결국은 시간을 절약하는 방법이다.

타입 설계 실제 예시는 책을 읽어보자.

아이템29. 사용할 때는 너그럽게, 생성할 때는 엄격하게

함수의 매개변수는 타입의 범위가 넓어도 되지만, 결과를 반환할 때는 일반적으로 타입의 범위가 더 구체적이어야 한다.

보통 매개변수 타입은 반환 타입에 비해 범위가 넓은 경향이 있다. 선택적 속성과 유니온 타입은 반환 타입보다 매개변수 타입에 더 일반적이다.

매개변수와 반환 타입의 재사용을 위해서 기본 형태(반환타입)와 느슨한 형태(매개변수 타입)를 도입하는 게 좋다.

아이템30. 문서에 타입 정보를 쓰지 않기

주석과 변수명에 타입 정보를 적는 것은 피해야 한다.

타입 선언이 중복되는 것으로 끝나면 다행이지만 최악의 경우, 타입 정보에 모순이 발생할 수 있다.

타입이 명확하지 않은 경우는 변수명에 단위 정보를 포함하는 것을 고려하는 게 좋다. (timsMs, temperatureC ...)

profile
frontend-react

0개의 댓글