camelCase을 사용하는 경우
camelCase는 userProfileImage처럼 간결하며 변수, property, function에 이미 camelCase를 쓰는 생태계와 잘 맞습니다.
네이밍 규칙 가이드
camelCase는 구분자를 제거하고 이후 단어를 대문자로 시작하며, snake_case는 소문자 단어를 밑줄로 구분합니다. 적합한 형식은 언어, API, DB 규칙에 따라 달라집니다.
| 차이 | camelCase | snake_case |
|---|---|---|
| 예시 | userProfileImage | user_profile_image |
| 주요 용도 | JavaScript/TypeScript 식별자와 많은 Java 스타일 property | Python 식별자, DB 컬럼, 데이터 파이프라인, 설정 형식 |
| 단어 구분자 | 없음 | 밑줄 (_) |
| 대소문자 | 첫 단어 소문자, 이후 단어 대문자 시작 | 보통 모두 소문자 |
| 약어 예시 | apiResponseUrl | api_response_url |
| 대표 경계 | frontend / application model | backend / API / DB field |
camelCase는 userProfileImage처럼 간결하며 변수, property, function에 이미 camelCase를 쓰는 생태계와 잘 맞습니다.
snake_case는 user_profile_image처럼 단어 경계가 명확하며 Python, SQL, 데이터 처리, API에서 널리 사용됩니다.
| 상황 | 권장 규칙 | 이유 |
|---|---|---|
| JavaScript 또는 TypeScript 애플리케이션 코드 | camelCase | JavaScript 생태계에서는 변수, 매개변수, 메서드, object property에 lower camel case를 흔히 사용합니다. |
| Python 애플리케이션 코드 | snake_case | PEP 8은 함수와 변수에 소문자와 밑줄을 사용하는 방식을 권장합니다. |
| JSON 또는 HTTP API 경계 | API contract를 따름 | 애플리케이션 내부는 한 가지 규칙으로 유지하고 serialization 또는 transport 경계에서 한 번만 변환하는 편이 안전합니다. |
| 기존 database 또는 analytics schema | 기존 schema를 따름 | 이미 사용 중인 외부 명명 contract를 바꾸는 것보다 애플리케이션 경계에서 맞추는 비용이 보통 더 낮습니다. |
현재 레이어가 기대하는 규칙을 사용하세요. JavaScript frontend가 snake_case API를 사용한다면 경계에서 camelCase로 변환할 수 있으며, 각 레이어 내부의 일관성이 가장 중요합니다.
식별자를 붙여넣어 대상 형식과 지원하는 네이밍 스타일을 확인하세요. 변환은 브라우저에서 실행됩니다.
user_profile_image_url
userProfileImageUrlUserProfileImageUrluser_profile_image_urluser-profile-image-urlUSER_PROFILE_IMAGE_URLuser.profile.image.urluser/profile/image/url변환은 브라우저에서 로컬로 처리되며 입력은 변환 서버로 전송되지 않습니다.