XMLHttpRequest가 명명 규칙을 따르지 않는 이유는 무엇입니까?


28

최근 JavaScript 에서 XMLHttpRequest 객체 로 작업하고 있는데이 이름의 대소 문자가 의미가 없다는 것을 알 수는 없었습니다. 'Http'가 아닌 왜 'XML'이 모두 대문자입니까? 둘 다 약어입니다!

이름이 다음 중 하나 인 것이 더 합리적입니다.

  • XmlHttpRequest (PascalCase, JavaScript의 클래스 이름에 대한 모범 사례)
  • xmlHttpRequest (camelCase, 클래스에는 해당되지 않지만 일반적 임)
  • XMLHTTPRequest (약어에 대한 대문자, 프로그래밍에 거의 사용되지 않습니까?)

나는 어떤 이유가있을 것이라고 확신하고 당시에 아무도 이것에 의문을 제기하지 않았기 때문에 그것이 지금 돌로 설정되어 있다고 생각하고 싶지 않습니다. 내가 모르는 또 다른 명명 규칙이 있습니까?


9
참고 사항 : Java의 이름 불일치는 매우 유사 HttpURLConnection합니다.
Joachim Sauer

6
주석 # 2 : HTTP_REFERER헤더 와 달리 철자가
틀렸다

3
나는 이것이 "일부 개발자가 실수를했고 이제는 그것을 고칠 수 없다"라는 범주에 속한다고 생각하지만 실제 답을 아는 사람은 세계에 단 한 사람 일 것입니다.
Martin Brown

1
그러나 왜 처음에 이름에 XML (또는 실제로 HTTP)이 있는지 궁금하지 않습니까?
모니카 해밍 중지

답변:


15

흥미롭게도, MSXML은 MSXML 라이브러리IXMLHTTPRequest처음 추가 되었을 때 처음으로 호출했습니다 .

XMLHttpRequest개념을 Gecko에 추가 할 때 이름을 사용한 것은 Mozilla였습니다 . MS 인터페이스를 모방하려는 아이디어를 구현했습니다. 이후 모질라의 결정에 다른 모든 구현을 묶는 사실상의 표준이되었습니다.

당신은에서 동굴 탐험 가야 할 것 모질라 질라 캡이 변경을 위해 어떤 이유를 찾을 수 있는지 확인하기 위해,하지만 나는별로 생각이 그것으로 가서의 lowercasing 의심 ttp부분은 실수입니다.

이는 nsIXMLHttpRequest 인터페이스 정의 (Mozilla Mercurial 리포지토리에서 가장 초기 개정판)에서 Microsoft 인터페이스의 철자가 틀 렸음을 입증 합니다 .

Mozilla의 XMLHttpRequest는 Microsoft의 IXMLHttpRequest 객체를 모델로합니다. 목표는 Mozilla의 버전을 가능한 한 Microsoft의 버전과 최대한 일치시키는 것이었지만 약간의 차이가 있습니다.


아, 알다시피, 그것은 철자의 초기 사례에 근거한 한 의도적입니다. 나는 여전히 그것을 좋아하지 않지만 적어도 그것이 어떻게되었는지 이해할 수 있습니다. 훌륭한 답변 주셔서 감사합니다.
Alec

6
XML과 URL은 일반적으로 모두 대문자이지만 소문자 http에 대한 참조는 HTML에서 어디에나 존재합니다. 따라서 결합 된 식별자의 낙타 케이싱XMLHttpRequest 으로 볼 수 있습니다 .
hardmath

2
당신은 CVS의 첫 번째 버전에있는 모든 방법을 다시 갈 경우 bonsai.mozilla.org/cvsblame.cgi?file=mozilla/content/base/...을 그것은 그렇게합니다. 원래 저자는 Vidur Apparao 였으므로 누군가 그를 추적 할 수 있습니다 (현재 Agari 의 CTO : agari.com/team/vidur-apparao ). 불행히도 버그질라에는 이것에 대해 아무것도 없다. 넷스케이프 시절에 그들은 작업을 추적하기 위해 버그를 제출하는 것에 대해 좋지 않았다.
Ted Mielczarek

4

일부 명명 지침은 "짧은"및 "긴"약어를 구별합니다. 예를 들어, Microsoft의 .Net 런타임 용 코딩 스타일 가이드 는 짧은 머리 글자가 블록 대문자 여야하고 긴 머리 글자는 첫 글자 만 대문자로 지정해야한다고 지정합니다. 긴 머리 글자에 대한 임계 값은 3 자이므로 "XmlHttpRequest"를 선호하지만 일부 사람들이 4 자로 된 유사한 규칙을 임계 값으로 사용할 수 있다고 생각하는 것은 무리가 없습니다.

나는 mozilla.org 스타일 가이드의 오래된 사본을 보았고 약어에 대해서는 아무것도 명시하지 않았지만 오래된 Netscape 가이드가하거나 개발자가 다른 곳에서 가져온 규칙을 적용했을 가능성이 있습니다.

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