• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

조언 부탁드립니다.

23.03.07 21:11 작성 조회수 244

0

안녕하세요. 혼자서는 결론을 내리지 못해 더 많은 경험과 고민을 한 제로초님께 조언을 구하고 싶습니다.

제가 기존 코드에 Menu가 있었습니다. 그리고 이번에 타입스크립트로 마이그레이션 했는데 네이밍 컨벤션에 고민이 있습니다. 이 이름을 쓰는 곳은 총 4곳 입니다.

menu - 데이터로 불러오는 menu

Menu - 타입으로서 Menu

Menu - 페이지(메뉴 상세 페이지)

Menu - 메뉴 아이템(메뉴 리스트 안에 각각 뿌려지는 메뉴 아이템)

사실 타입이 없을 때는 아래 2개의 파스칼 케이스의 Menu가 이름으로 겹칠 일이 없었습니다.

그러다가 타입을 도입 했는데, 타입인 Menu 같은 경우 제로초님이 요즘은 앞에 헝가리안 표기법으로 타입인지 인터페이스인지를 표기 안하는 추세라고 하시기도 했고, 프로그래밍에서 가장 중요한게 데이터라 생각해서 그 데이터의 타입은 그대로 쓰는게 좋다고 생각했습니다.

페이지 같은 경우에는 파일 명과 반드시 같은 필요가 없다 해서 라우팅할때 menu.tsx를 쓰더라도 파일 내부에서는 MenuPage로 명명했습니다.

그리고 남은 컴포넌트가 문제인데 다른 강의를 봐도 MenuComponent 같은 이름 보단 다른 강의에서 List를 붙이시는거 보고 MenuItem으로 컴포넌트 명을 지으려고 하는데 괜찮을까요??

감사합니다!!

답변 1

답변을 작성해보세요.

1

Because you pointed out that Post is used across the codebase I think that should remain being called Post.

 

Then you have two choices rename the component to something like `PostView`, `PostSummary`, `PostItem`, etc.

 

But another option that I haven't seen anyone mention is using an import alias like this:

 

import { Post as PostType } from ./types

function Post({data: PostType}) {

return (

<div>

<span>{ data.title }</span>

<p>{ data.body }</p>

</div>

)

}

 

This is only necessary in the files that import both Post declerations.

 

이런 답을 찾았는데, 불러올 때 별칭으로 불러오는건 어떨까요

타입을 저렇게 명시적으로 적어주는 것도 좋은 방법일거 같네요. 감사합니다. 관련된 내용 스스로 찾아보되 일단 별칭으로 프로젝트 진행해보겠습니다.

 

항상 감사합니다!!