TypeScript에 대한 생각들
TS 프로그래밍 하면서 느낀 점
요즘 타입스크립트의 문법을 다시 복습중이고, 개인 프로젝트도 타입스크립트로 진행하고 있습니다. 원래 타입스크립트가 정적 타이핑 할 수 있어서 좋다! 요즘 대세다! 이런 느낌만 가지고 공부를 시작했는데, 제네릭이나 클래스같은 JS와는 좀 다른 문법을 접하고 사용해보니 몇가지 생각이 들어 정리해 봅니당.
All about 협업
- 회사에 들어가고 나서 많이 느낀게, 코드의 가독성에 신경쓰고 좋은 변수나 함수 이름을 짓는게 프로젝트 자체를 위해서가 아니라 프로젝트를 빌드하는 다른 개발자들을 위해서라는 점입니다.
- 이게 되게 당연한 말일수도 있는데, 그동안 저는 혼자 프로젝트를 진행하면서 코드가 깔끔해야 하는 이유를 주로 프로젝트에서 찾은 것 같습니다.
"이렇게 하면 더 좋은 코드로 짠 프로젝트가 되겠지"
,"이렇게 하면 더 많이 아는 개발자가 짠 코드겠지"
이런 느낌으로요. - 타입스크립트를 도입하는 이유 역시도 "이 프로젝트가 최신기술로 인해 더 뺀시해지겠지"가 아니라 "미래에 유지보수가 더 편해지겠지", "새로운 개발자가 이 코드를 봤을때 빨리 이해할 수 있겠지" 여야 합니다.
- 정적 타이핑 되어있는 코드들이 파악하기가 더 쉽다는 생각은 타입스크립트를 사용하면서 무지 많이 들었습니다. 특히 커다란 레거시를 처음 보는 개발자에게는 타입스크립트의 타입 표현이 꽤 도움이 될 것입니다.
- 남들 다 하니까 하는 것 보단 이유를 찾는게 중요한 것 같습니다.
주도권은 개발자에게 있다
- 타입스크립트를 처음 배웠던 초기에는 타입을 명시하지 않아 나오는 에러라던지, 타입을 명시하지 않은 변수들이 잘못처럼 보여서 부랴부랴 모든 변수에 타입을 넣고, 함수 하나하나 다 시그니처로 타이핑 처리하고 했었던 것 같아요.
- 그런데 타입스크립트가 알아서 타입 추론을 하는 경우가 꽤 있습니다. 그런 경우는 에러를 뿜지 않으니까 개발자가 타이핑을 할 필요는 없죠. 그런 부분은 개발자가 판단해야 합니다.
- 작성한 코드의 맥락을 고려해서,
"이 변수는 타입스크립트가 알아서 추론을 하고 있지만, 명시를 해주는게 낫겠다"
이런 판단요. - 기술에 개발자가 다 맞출 필요는 없다고 생각합니다. 타입스크립트가 뿜는 에러를 일일히 해결하고, 모든 변수에 타입을 적어야 한다는 강박보다는 타입스크립트를 어떻게 이용해 코드 품질에 도움을 받을 수 있는지 순간순간 판단하는게 더 중요한 것 같습니다.