하이픈으로 구분 된 케이스의 이름은 무엇입니까?


509

이것은 PascalCase입니다. SomeSymbol

이것은 낙타입니다. someSymbol

이것은 snake_case입니다. some_symbol

그래서 내 질문은 이것에 대해 널리 인정되는 이름이 있는지 여부입니다 some-symbol. URL에서 일반적으로 사용됩니다.


11
아니요. 대부분의 언어는 이러한 식별자를 허용하지 않습니다. 또한 첫 번째는 파스칼 케이스라고합니다.
Cat Plus Plus 10


14
@CatPlusPlus Lisp는이 경우를 사용하며 Google은 -공백을 공백으로 취급하므로 거의 모든 SEO 친화적 URL 이이를 사용합니다.
lms

4
PascalCase 라는 첫 번째 예제를 호출하는 것이 더 일반적이라고 생각합니다 .
Drew Noakes

24
@CatPlusPlus 1) URL은 프로그래밍 언어와 관련이 없습니다. 가장 자주 사용되는 자원 프로그래밍 언어 중 하나입니다. 일부 언어는 URL을 일급 객체로 취급하기도합니다. Go에서는 일류 클래스는 아니지만 패키지 가져 오기에 URL이 사용됩니다. 2) 대시로 구분 된 문자열은 여러 언어 (하나의 LISP 제품군)와 CSS와 같은 프로그래밍에 사용되는 불안한 언어에서 매우 일반적입니다. 당신을위한 "소수자"는 무엇이며, 다른 사람들이 하루 종일 일하는 언어입니다. 우리는 모든 VB6 프로그래머가 아닙니다.
Hejazzman

답변:


433

이 사건에 대한 표준 명칭은 실제로 없으며, 그 명칭에 대해 의견이 일치하지 않습니다.

그러나 2019 년 현재 케밥 케이스 가 이길 수있는 강력한 사례가 있습니다 .

https://trends.google.com/trends/explore?date=all&q=kebab-case,spinal-case,lisp-case,dash-case,caterpillar-case

척추 는 먼 초이며 다른 용어는 전혀 견인력이 없습니다.

또한 케밥 케이스 는 다음과 같은 여러 자바 스크립트 코드 라이브러리의 어휘에 들어갔습니다.

그러나 사람들이 사용하는 다른 용어가 여전히 있습니다. Lisp는 이 Wikipedia 항목에 설명 된대로이 컨벤션을 수십 년 동안 사용해 으므로 일부 사람들은이를 lisp-case 라고 설명했습니다 . 내가 본 다른 양식에는 caterpillar-case , dash-casehyphen-case 가 포함되지만 그중 어느 것도 표준이 아닙니다.

따라서 귀하의 질문에 대한 대답은 : 아니요,이 사건에 대해 널리 받아 들여지는 snake_case 또는 camelCase 와 유사한 단일 이름이 없습니다 .


117
링크 된 위키 백과 기사에는 현재이 스택 오버플로 질문, 특히 케밥 사례 질문으로 다시 연결되는 참조가 있습니다. 위키 백과를 소스로 사용하는 것이 현명한 아이디어가 아닐 수도 있습니다.
dequis

8
@ BenLee 나는 당신이 사본을 도살했다고 느낀 사람입니다-사과합니다. 척추 사건 / 기통 사례는 다른 위키 백과 기록이없는 IP 주소에서 익명의 사용자가 참조하지 않고 2012-10-07에 위키 백과에 추가되었습니다. 위키 백과로 돌아 가지 않은 용어에 대한 다른 증거를 찾을 수 없었습니다. 반면에,이 StackOverflow 질문은 케밥 케이스에 Wikipedia 기사에 입력 된 내용에 의존하지 않는 사용자 커뮤니티가 있다는 증거가 있습니다. 원래 연구 비용을 피하기에 충분하기를 바랍니다.
Robert Tupelo-Schneck

7
나는 척추와 기차 케이스를 완전히 제거하려는 유혹을 받았다. 그러나 오랜 위키 백과 파괴 행위는 실제로 그 자체에 대한 증거를 만들 수 있습니다. 그것이 여기서 일어난 것 같습니다.
Robert Tupelo-Schneck

11
나는 "catipillar-case"가 좋아지고 오래 걸리기 때문에 동물 테마를 유지합니다.
르네상스

55
케밥 케이스는 모양이 비슷해 보이기 때문에 케밥 꼬치
Aaron_H

464

kebab-case 라고합니다 . lodash 문서를 참조하십시오 .


190
여기 에 참조 가 있습니다. 공식적으로 만들었습니다.)
Andreas

13
여기에 또 다른 참조는 다음과 같습니다 github.com/qerub/camel-snake-kebab )
qerub

11
참조의 재귀는 이것이 훨씬 더 Lisp와 유사하다는 것을 의미합니다.
Michael Della Bitta

140
나는 이것이 정답이라고 믿지 않고 올바른 답이되기를 원하기 때문에이 답을 찬성했다.
Jason Swett

43
나는 여기에서 진행 되는 citogenesis를 좋아합니다 . 이 답변 은 wikipedia 에 링크 된 lodash에 링크되며,이 답변에 링크됩니다!
gilly3 2016 년

37

때로는 애벌레 케이스라고도합니다.


61
낙타, 뱀 및 유충은 케밥이 아닌 살아있는 생물의 모든 종류이기 때문에 애벌레 케이스는 케밥 케이스보다 훨씬 더 의미가 있습니다.
Daira Hopwood


4
"애벌레", "케밥", "대시"와 "하이픈"반면 네 음절이 있기 때문에, 나는 애벌레의 경우 하나 또는 두 개의 말다툼을 생각 한 것은지는 싸움이다
Ninjakannon

1
"캐터필러 케이스"가 너무 길어서 케이스 이름이 되기에는 "웜 케이스"가 더 나은 선택이라고 생각합니다. : D
Bahattin Ungormus

5
@DairaHopwood는 완전히 동의합니다. 파스칼은 또한 살아있는 생물이었습니다.
nawfal


12

문자로 (-)은 "하이픈"또는 "대시"이라고,이 "이름을 더 자연스러운 것 같다 대시 경우 "또는 " 하이픈의 경우를 (자주 사용)"을.

Wikipedia 에서 언급했듯이 " 케밥 케이스 "도 사용됩니다. 분명히 ( 답변 참조 ) 이것은 캐릭터가 꼬치 처럼 보일 것이기 때문입니다 ...하지만 약간의 상상력이 필요합니다. 예를 들어 lodash lib
에서 사용됩니다 .

최근 " 대쉬 케이스 "는


6
케밥 케이스는 케밥을 도우하는 것보다 시시 케밥을 더 많이 언급하고 있습니다.
Alper

10

나는 항상 그것을 부르고 '대시'라고 불렀습니다.


21
그것은 영원히 Dashy McDash 케이스로 알려진해야한다
colllin

15
@colllin 나는 당신이 dashy-mcdash-case를 의미한다고 생각한다;)
siguy85

7

일부 연구 후 전체 목록 :

  • 케밥 케이스
  • 캐터필라 케이스
  • 대시 케이스
  • 하이픈 케이스
  • 리스프 케이스
  • 척추 사건
  • CSS 사례

6

표준화 된 이름이 없습니다.

jquerylodash 와 같은 라이브러리는 이를로 참조합니다 kebab-case. 그렇게 Vuejs 자바 스크립트 프레임 워크를. 그러나 그것이 kebab-case자바 스크립트 세계에서 언급되었다고 선언하는 것이 안전한지 확실하지 않습니다 .


Vuejs 문서에서 온 경우 이와 같이
a20

5

나는 단순히 하이픈 으로 연결되어 있다고 말하고 싶습니다 .


8
하이픈 은 영어 질문에 대한 정답 일 수 있지만 코드에 대해서는 구체적이지 않습니다. 예를 들어, kebab-case모든 문자에서 소문자입니다.
rybo111



2

더 최근의 분해가 있습니다. 앵귤러 JS 및 Pluralsight 코스 및 앵귤러에 관한 책의 모든 곳에서 문서는 케밥 케이스를 뱀 케이스로 지칭하며 두 가지를 구별하지 않습니다.

snake_case와 caterpillar-case는 쉽게 기억되고 실제로 그들이 표현하는 것처럼 보이기 때문에 너무 나쁜 애벌레 케이스는 붙어 있지 않습니다 (좋은 상상력이있는 경우).


1

에 대한 ECMAScript 제안입니다 String.prototype.toKebabCase.

String.prototype.toKebabCase = function () {
  return this.valueOf().replace(/-/g, ' ').split('')
    .reduce((str, char) => char.toUpperCase() === char ?
      `${str} ${char}` :
      `${str}${char}`, ''
    ).replace(/ * /g, ' ').trim().replace(/ /g, '-').toLowerCase();
}

제안에 대한 응답?
nxmohamad 2016 년

당신의 응답에 대한 응답?
Dane Brouwer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.