파일명 규칙, react에서의 kebab-case
🎋

파일명 규칙, react에서의 kebab-case

작성일
2024년 10월 18일
태그
루아
카테고리
컨벤션
Last edited time
Last updated November 7, 2024
날짜
 

자료를 보던 도중, react에서 kebab-case를 권장하는글을 발견했다.

 
헉.. 난 지금까지 react에서는 파스칼 케이스가 국룰인줄 알았는데
자료에서 참고로 제시한 문제의 트윗이다.
이에 조금 의아해서 찾아보기로 했는데.
아래는 참고한 블로그와 간단하게 요약한 글이다.
 
 
프로그래밍에서 많이 사용하는 명명 규칙(naming convention)은 다음 네 가지가 있다.
  • PascalCase - 모든 단어의 첫 글자가 대문자
  • camelCase - 첫 단어를 제외한 모든 단어의 첫 글자가 대문자
  • snake_case - 단어의 경계에서 _를 사용
  • kebab-case - 단어의 경계에서 을 사용
 
 

대소문자 방식을 피하는 이유

파일 및 디렉터리 이름에서 대소문자를 섞어 쓰는 것은 잠재적으로 문제를 일으킬 수 있다. 예를 들어 Linux에서는 구분하는 반면 Windows와 macOS에서는 대소문자를 구분하지 않는다. 또한 Git의 기본 설정에서는 대소문자의 변화를 무시한다.
 
깃에서 대소문자 인식하게 하는법.
$ git config core.ignorecase false $ git rm -r --cached . $ git add .
 

React 컴포넌트에 적용하기

kebab-case를 도입하는 데 있어 거부감이 들었던 것이 React 컴포넌트였다. React에서는 컴포넌트 이름에 PascalCase를 사용한다. 일반적으로 컴포넌트 파일의 이름은 컴포넌트의 이름과 동일하게 지으며 PascalCase를 적용한다. 하지만 React는 파일 이름의 형식을 강제하지 않으며, 실제로 kebab-case를 적용해도 문제가 생기지 않는다. 가져오기를 할 때도 파일의 이름이 아닌 컴포넌트의 이름을 참조하므로, 자동 완성을 비롯한 에디터의 기능이 잘 작동한다.

사용 사례

파일 이름에 kebab-case를 사용하는 사례는 다음과 같다.
  • Next.js - kebab-case를 사용할 것을 직접 명시한 내용을 찾을 수는 없었지만, 공식 문서의 예시나 템플릿에서 해당 명명 규칙을 사용하는 것을 확인할 수 있다.
 
해당 링크의 nextjs의 템플릿을 확인하면
notion image
이렇게 케밥 케이스로 파일명 구성
notion image
컴포넌트는 파스칼 케이스.
 
 

즉 컴포넌트는 PascalCase를 적용하되, 파일명은 운영체제나 깃 설정에서의 문제사항을 줄이기 위해 kebab-case를 권장한다!!