为什么XMLHttpRequest似乎没有遵循命名约定?


28

我最近一直在使用JavaScript 处理XMLHttpRequest对象,我不禁注意到该名称的大小写毫无意义。为什么“ XML”全部大写而“ Http”没有大写?他们都是缩写!

当然,将名称用作以下内容之一会更有意义:

  • XmlHttpRequest (PascalCase,JavaScript中类名的最佳实践)
  • xmlHttpRequest (camelCase,虽然不是类,但也很常见)
  • XMLHTTPRequest (大写字母缩写,很少在编程中使用?)

我敢肯定一定有一些原因,并且我不愿意认为它现在是一成不变的,因为当时没有人对此提出质疑。我没有意识到另一种命名约定吗?


9
旁注:Java有一个非常相似的命名不一致:The HttpURLConnection
约阿希姆·绍尔

6
旁注2:与HTTP_REFERER标题不同,至少拼写正确……
OnoSendai 2013年

3
我怀疑这属于“某些开发人员犯了一个错误,但现在我们无法纠正它”的类别,但是世界上可能只有一个人知道实际答案。
马丁·布朗

1
但是,您不奇怪为什么首先要使用XML(或者实际上是HTTP)名称?
停止Harming Monica

Answers:


15

有趣的是,IXMLHTTPRequest当它第一次添加到MSXML库中时,Microsoft首次调用了它。

Mozilla XMLHttpRequest在将该概念添加到Gecko中时使用了该名称,从而实现了模仿MS接口的想法。此后它已成为事实上的标准,将所有其他实现与Mozilla的决定联系在一起。

您必须在Mozilla Bugzilla中摸索一下,看看是否可以找到有关更改顶盖的任何理由,但我怀疑其中没有过多考虑,并且ttp零件的下壳体是偶然的。

nsIXMLHttpRequest接口定义(Mozilla Mercurial存储库中的最早版本)中的 Microsoft接口拼写错误已证实了这一点:

Mozilla的XMLHttpRequest以Microsoft的IXMLHttpRequest对象为模型。目的是使Mozilla的版本与Microsoft的版本尽可能接近,但是必然会有一些差异。


嗯,我知道了,因此它是基于较早的拼写实例而来的。我仍然不喜欢它-但至少我可以理解它是如何实现的。感谢您的出色回答。
亚历克

6
请注意,虽然XML和URL通常是全大写字母,但在HTML中普遍存在对小写http的引用。因此XMLHttpRequest可以视为组合标识符的驼峰式外壳
hardmath 2012年

2
如果您一直回到CVS的第一个版本:bonsai.mozilla.org/cvsblame.cgi?file=mozilla / content / base / ...就是这样。最初的作者是Vidur Apparao,所以也许有人可以追踪到他(他现在是Agari的CTO:agari.com/team/vidur-apparao)并询问他。不幸的是,bugzilla对此一无所知,在Netscape时代,他们并不是很想提交错误来跟踪工作。
Ted Mielczarek 2014年

4

一些命名准则在“短”和“长”首字母缩写之间进行了区分。例如,Microsoft .Net运行时编码样式指南规定,短首字母缩略词应使用大写字母,而长首字母缩略词应仅使用首字母大写。他们的长首字母缩写词的阈值为3个字母,因此倾向于使用“ XmlHttpRequest”,但是可以认为有些人可能会使用类似的规则,其中以4个字符作为阈值。

我看过mozilla.org样式指南的旧副本,似乎没有提供任何有关首字母缩略词的信息,但是可能是较旧的Netscape指南做了,或者开发人员正在应用他在其他地方选择的规则。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.