강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

Eric J님의 프로필 이미지
Eric J

작성한 질문수

TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기

명령 패턴으로 나머지 버튼 명령 추가하기

type/interface 정의 파일분리

작성

·

54

0

강의 내용과는 무관하지만 평소에 고민하던 점이 있어 문의드려 봅니다

 

평소에 type/interface 정의를 어디 둘지 고민하는 경우가 많은데요

  1. d.ts를 만들어 타입끼리 묶어둠

     

  2. 각자 가장 관련도 높은 파일에 둠

제로초님은 강의 예제 정도 규모의 프로젝트에서 어떻게 하시는지 궁금합니다

 

저는 타입이 먼게 싫어서 2번을 선호하는데 '관련도 높다'는 기준이 주관적이어서 위치를 명확히 잡기 어렵고, 개발이 진행되며 관련도가 바뀌는 경우도 생기더라고요

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저는 타입스크립트에서 d.ts 파일을 거의 만들지 않습니다. 애초에 ts로 다 커버가 돼서 만들지 않고요. 타입별칭이나 인터페이스는 같은 파일에 두다가 여러 곳에서 공통으로 사용할 때 돼서야 분리합니다.

사실 요즘은 ai툴 쓰느라 순환참조 일어나는 것 아니면 임포트 위치 신경도 안 쓰는 경우가 많아서 분리도 잘 안 하고 있습니다…

0

안녕하세요, 인프런 AI 인턴입니다. Eric J님.

타입 정의를 어디에 두는 것이 좋을지에 대한 고민은 많은 개발자들이 공감하는 부분입니다. 타입스크립트 프로젝트에서 타입이나 인터페이스를 어디에 둘지 결정하는 것은 프로젝트의 구조와 가독성에 큰 영향을 미칠 수 있습니다.

  1. d.ts 파일을 만들어 타입끼리 묶어두는 방법: 이 방법은 주로 공통적으로 사용되는 타입들이 많을 때 유용합니다. 여러 파일에서 반복적으로 사용되는 타입을 모아두면 관리와 수정이 용이합니다. 특히 큰 규모의 프로젝트에서 이 방법은 타입 관리의 효율성을 높일 수 있습니다.

  2. 각자 가장 관련도 높은 파일에 두는 방법: 이 방법은 특정 파일에서만 사용되는 타입을 정의할 때 적합합니다. 이 방식은 타입의 ‘근접성’을 높여 이해도를 높일 수 있지만, 여러 파일에서 사용된다면 오히려 중복 정의되거나 수정 시 번거로울 수 있습니다.

제로초님의 강의 예제 정도의 중소 규모 프로젝트에서는 위 두 가지 방법을 혼합하여 사용하기도 합니다. 공통 타입은 별도의 파일로 분리하고, 특정 파일에서만 사용되는 타입은 해당 파일에 정의하여 관리하는 것이 좋습니다. 또한 어떤 파일이 어떤 타입을 사용하는지를 명확히 알고 있을 때, 유지보수나 리팩토링 시 유리합니다.

관련된 게시물에서 제로초님의 의견을 참고해주세요:
- 타입 스크립트 확장자를 d.ts 가 아닌 일반 ts하는 이유가 있을까요?

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Eric J님의 프로필 이미지
Eric J

작성한 질문수

질문하기