케이스 변환기
camelCase, snake_case, kebab-case, PascalCase 등 상호 전환
로컬 실행
loading…
이 도구에 대해
식별자는 늘 여러 관례 사이를 오갑니다. API는 snake_case를 반환하고, TypeScript는 camelCase를 원하고, CSS 클래스는 kebab-case가 필요하고, 환경 변수는 CONSTANT_CASE를 요구합니다. 이 변환기는 공백, 밑줄, 하이픈, 기존 camelCase가 뒤섞인 어떤 입력이든 받아 단어로 똑똑하게 분리한 뒤, 아홉 가지 대상 스타일로 한꺼번에 다시 조합합니다.
분리기는 까다로운 경우들을 이해합니다. "getUserByID"를 get/user/by/id로 나누고(경계까지 약어를 통째로 유지), 숫자를 소속 단어의 일부로 취급하며, 각 줄을 독립적으로 처리하므로 데이터베이스 필드 한 열을 통째로 붙여넣어 한 번에 변환할 수 있습니다.
모든 스타일이 행마다 복사 버튼과 함께 동시에 표시됩니다. 먼저 모드를 고를 필요 없이, 붙여넣고 필요한 것을 집어 가면 됩니다.
자주 묻는 질문
- "HTTPResponse" 같은 약어는 어떻게 처리되나요?
- 대문자 연속 뒤에 소문자가 오면 마지막 대문자 앞에서 분리합니다. HTTPResponse → http + response. 대부분의 스타일 가이드가 약어를 토큰화하리라 기대하는 방식과 일치하지만, 어떤 분리기도 의도를 완벽히 추측할 수는 없습니다. "IOError"가 io + error가 되는 것 같은 엣지 케이스가 있습니다.
- 식별자 여러 개를 한 번에 변환할 수 있나요?
- 네. 각 줄이 독립적으로 변환됩니다. 한 줄에 하나씩 컬럼 이름 목록을 붙여넣으면, 출력이 새 스타일로 줄 구조를 유지합니다.
- 여기서 Title Case와 Sentence case는 무엇이 다른가요?
- Title Case는 모든 단어의 첫 글자를 대문자로 만듭니다("User Account Id"). Sentence case는 첫 단어만 대문자로 만듭니다("User account id"). 둘 다 관사와 전치사에 관한 편집 규칙은 적용하지 않습니다. 식별자에는 그런 규칙이 거의 필요 없으니까요.
- 왜 왕복 변환해도 원본이 항상 복원되지 않나요?
- 단어로 분리하는 과정에서 정보가 사라지기 때문입니다. "user_ID_2"와 "userId2"는 동일하게 토큰화됩니다. 정방향 변환은 결정적이지만, 단어 경계의 원래 표기를 역방향으로 항상 재구성할 수는 없습니다.