Case
케이스 변환기
camelCase, snake_case, kebab-case 등으로 텍스트 변환.
케이스 변환에 대하여
언어 공동체마다 고유한 명명 방식이 자리 잡아, 같은 개념도 환경에 따라 userName, user_name, user-name으로 달리 표기됩니다. 이 도구는 입력을 단어로 나눈 뒤(기존 camelCase 경계, 밑줄, 하이픈, 공백을 모두 인식합니다) 각 방식으로 다시 조합합니다. 악센트 문자와 비라틴 문자는 그대로 보존됩니다.
숫자는 그 자체로 독립된 토큰이 되는 대신 인접한 단어에 붙습니다. address2Line은 "address", "2", "Line"이 아니라 "address2"와 "Line"으로 나뉘는데, 이는 대부분의 스타일 가이드가 address2나 v2Config 같은 번호 붙은 식별자를 다루는 방식과 일치합니다. 이 단어 분리 로직은 고정된 사전이 아니라, 한 번도 본 적 없는 이름도 처리할 수 있게 해 주는 바탕이기도 합니다. 입력 스타일이 무엇이든 복합 식별자처럼 보이는 것은 모두 올바르게 변환됩니다.
사용되는 곳
- 언어 간에 코드를 옮길 때 변수 이름 바꾸기
- 열 제목을 데이터베이스 필드나 JSON 키로 바꾸기
- 제목에서 URL 슬러그와 CSS 클래스 이름 만들기
- 코드 리뷰 전에 일관되지 않은 이름 정리하기
자주 묻는 질문
단어는 어떻게 구분하나요?
공백, 밑줄, 하이픈, 문장 부호에서 나누고, 소문자 뒤에 대문자가 오는 지점에서도 나눕니다. 연속된 대문자는 함께 묶이므로 HTTPServer는 "H T T P Server"가 아니라 "HTTP Server"가 됩니다.
UPPERCASE와 Title Case는 왜 문장 부호를 유지하나요?
이들은 산문용 방식이라 글자의 대소문자만 바꾸고 나머지는 그대로 둡니다. camelCase, snake_case 같은 식별자 방식은 대부분의 식별자에서 문장 부호를 쓸 수 없기 때문에 제거합니다.
입력한 텍스트가 서버로 전송되나요?
아닙니다. 이 도구는 전적으로 브라우저에서 동작하며, 텍스트가 기기를 벗어나지 않습니다.
address2Line이나 v2Config 같은 식별자 안의 숫자는 어떻게 처리되나요?
숫자는 그 자체로 별도의 단어가 되는 대신 바로 앞 단어에 붙어 있습니다. address2Line은 "address2"와 "Line"으로 나뉘고, v2Config는 "v2"와 "Config"로 나뉩니다. 이는 대부분의 스타일 가이드가 번호 붙은 필드와 버전이 붙은 이름을 이미 다루는 방식을 반영한 것으로, address2Line을 snake_case로 바꾸면 다소 어색한 address_2_line이 아니라 address2_line이 됩니다.