이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리
📍요약
✅주석과 변수명에 타입 정보를 적는 것은 피해야 한다
- 타입 선언이 중복되는 것을 넘어 모순이 발생하는 사태가 벌어질 수 있다
✅타입이 명확하지 않은 경우 변수명에 단위 정보를 포함하는 것을 고려하는 것이 좋다
- timeMs
📍주석을 꼭 써야 할까?
- 코드와 주석이 맞지 않으면 둘 다 잘못된 것으로 간주할 수 밖에 없다
- 함수의 입력과 출력의 타입을 코드로 표현하는 것이 주석보다 더 나은 방법이다
📍타입스크립트로 주석을 개선하기
- 특정 매개변수를 설명하고 싶다면 JSDoc의 @param 구문을 사용한다
- 불필요한 주석은 사용하지 않는다 (함수 부연 설명 등)
- readonly를 사용하여 주석을 대체하는 예시
/** nums를 변경하지 않는 함수
* (불필요한 주석)
*/
function sort1(nums: number[]) { /* ... */ }
// readonly 키워드를 사용하여 나타낼 수 있다
function sort2(nums: readonly number[]) { /* ... */ }
📍타입스크립트로 변수명 개선하기
✅변수명에서 타입을 뺀다
- ageNum 대신 age: number 로 표현하면 된다
✅그러나 단위가 있는 숫자는 변수명에 넣어야 한다
- time 대신 timeMs