PascalCase란
파스칼 케이스(PascalCase)는 단어 사이의 공백을 없애고 모든 단어를 대문자로 시작하는 표기법입니다. 파스칼 케이스 변환기에 넣으면 다음처럼 바뀝니다.
user profile card는UserProfileCard가 됩니다order_line_item은OrderLineItem이 됩니다httpClient는HttpClient가 됩니다
camelCase와 다른 점은 단 하나, 첫 글자도 대문자라는 것뿐입니다.
변환기 작동 방식
이 도구는 줄마다 단어를 찾아 각 단어의 첫 글자를 대문자로, 나머지를 소문자로 바꾼 다음 이어 붙입니다. 공백, 밑줄, 하이픈, 점으로 나뉜 단어를 알아보고, 이미 camelCase로 된 이름은 대문자 위치에서 나눕니다. 아포스트로피와 문장부호는 지워집니다.
| 입력 | 결과 |
|---|---|
| user profile card | UserProfileCard |
| order_line_item | OrderLineItem |
| nav-bar-item | NavBarItem |
| getUserById | GetUserById |
| payment gateway response | PaymentGatewayResponse |
한글 단어는 대문자가 없어서 그대로 붙기만 합니다. ‘사용자 이름’은 사용자이름, ‘user 이름’은 User이름이 됩니다. 단어 경계가 사라지므로 클래스나 컴포넌트 이름은 영어 단어로 짓는 것이 좋습니다.
PascalCase를 쓰는 곳
- 클래스 이름: Java, C#, Python, TypeScript, Swift, Kotlin 등 대부분의 객체 지향 언어
- React, Vue, Svelte 컴포넌트:
UserCard,NavBar - TypeScript 타입과 인터페이스:
UserProfile,ApiResponse - C#: 클래스뿐 아니라 메서드와 속성 이름
- Go: 패키지 밖에서 쓰려면 대문자로 시작해야 하는 공개 함수와 타입
- 열거형(enum) 이름: 여러 언어에서
대부분의 언어에서 통하는 간단한 규칙이 있습니다. 인스턴스를 만들어 내는 대상(클래스, 타입, 컴포넌트)은 PascalCase로, 인스턴스 자체는 camelCase나 snake_case로 씁니다. 그래서 UserProfile 클래스로 userProfile 변수를 만듭니다.
자주 하는 변환
데이터베이스 테이블을 모델 클래스로. order_line_items라는 테이블은 보통 OrderLineItem 클래스에 대응합니다. 테이블 이름을 붙여넣어 목록째 변환한 다음, 필요하면 복수형을 빼면 됩니다.
파일 이름을 컴포넌트 이름으로. user-card.jsx 파일은 보통 UserCard 컴포넌트를 내보냅니다.
일반 설명을 타입 이름으로. “api error response”를 입력하면 ApiErrorResponse가 나옵니다.
이름 짓기 팁
- 클래스와 타입에는 명사를 씁니다.
ProcessInvoice가 아니라Invoice입니다. - 나만 아는 줄임말은 피합니다.
CustAddr보다CustomerAddress가 명확합니다. - 약어 규칙(
HttpClient또는HTTPClient)을 하나 정해 프로젝트 전체에서 지킵니다.