XMLHttpRequest नामकरण सम्मेलन का पालन क्यों नहीं करता है?


28

मैं हाल ही में जावास्क्रिप्ट में XMLHttpRequest ऑब्जेक्ट के साथ काम कर रहा हूं, और मैं मदद नहीं कर सका लेकिन ध्यान दें कि इस नाम के आवरण का कोई मतलब नहीं है। 'Http' नहीं होने पर 'XML' को सभी कैप में क्यों रखा गया है? वे दोनों परिवर्णी हैं!

निश्चित रूप से यह निम्नलिखित में से एक होने के लिए नाम के लिए अधिक समझदार होगा:

  • XmlHttpRequest (PascalCase, जावास्क्रिप्ट में वर्ग नामों के लिए सर्वोत्तम अभ्यास)
  • xmlHttpRequest (कैमलकेस, आम भी है, हालांकि वर्गों के लिए नहीं)
  • XMLHTTPRequest (कैप्स-के- शब्दकोष , शायद ही कभी प्रोग्रामिंग में उपयोग किया जाता है?)

मुझे यकीन है कि कोई कारण होना चाहिए और मुझे लगता है कि यह अब पत्थर में सेट है, क्योंकि कोई भी इस समय इस पर सवाल नहीं करता है मुझे नफरत होगी। क्या एक और नामकरण सम्मेलन है जिससे मैं अनजान हूँ?


9
सिडेनोट: जावा में एक बहुत ही समान नामकरण असंगति है: द HttpURLConnection
जोआचिम सॉउर

6
सिडेनोट # 2: HTTP_REFERERहेडर के विपरीत, कम से कम सही ढंग से वर्तनी है ...
ओनोसेन्डाई

3
मुझे संदेह है कि "कुछ डेवलपर ने गलती की है और अब हम इसे सही नहीं कर सकते" की श्रेणी में आते हैं, लेकिन दुनिया में केवल एक ही व्यक्ति होने की संभावना है जो वास्तविक उत्तर जानता है।
मार्टिन ब्राउन

1
फिर भी आपको आश्चर्य नहीं है कि प्रथम स्थान में नाम में XML (या वास्तव में HTTP) क्यों है?
मोनिका

जवाबों:


15

दिलचस्प रूप से पर्याप्त है, माइक्रोसॉफ्ट ने पहली बार इसे IXMLHTTPRequestतब बुलाया था जब इसे पहली बार MSXML लाइब्रेरी में जोड़ा गया था ।

यह मोज़िला था, जिसने उस नाम का उपयोग किया था XMLHttpRequestजब उसने गेको में अवधारणा को जोड़ा था, जिससे एमएस इंटरफ़ेस की नकल करने का विचार लागू हुआ। तब से यह डिफैक्टो मानक बन गया है, जो अन्य सभी कार्यान्वयनों को मोज़िला के निर्णय के लिए बाध्य करता है।

आपको यह देखने के लिए मोज़िला बुगज़िला में घूमना होगा कि क्या आप वहाँ कैप बदलने के लिए कोई तर्क पा सकते हैं, लेकिन मुझे संदेह है कि इसमें बहुत सोचा नहीं गया था और ttpभाग का लोअरकेस आकस्मिक है।

यह nsIXMLHttpRequest इंटरफ़ेस परिभाषा (मोज़िला मर्क्युरल रिपॉजिटरी में शुरुआती संशोधन) में Microsoft इंटरफ़ेस की गलत वर्तनी से प्रमाणित है :

Microsoft के IXMLHttpRequest ऑब्जेक्ट के बाद Mozilla का XMLHttpRequest मॉडल किया गया है। लक्ष्य यह है कि मोज़िला के संस्करण को माइक्रोसॉफ्ट के संस्करण से जितना संभव हो उतना निकट से जोड़ा जाए, लेकिन कुछ अंतर होने के लिए बाध्य हैं।


आह, मैं देख रहा हूँ, इसलिए यह जानबूझकर है क्योंकि यह वर्तनी के पहले के उदाहरण पर आधारित है। मुझे अभी भी यह पसंद नहीं है - लेकिन कम से कम मैं समझ सकता हूं कि यह कैसे हुआ। एक उत्कृष्ट उत्तर के लिए धन्यवाद।
एलेक

6
ध्यान दें कि XML और URL आमतौर पर सभी-कैप्स होते हैं, http को कम करने के संदर्भ HTML में सर्वव्यापी होते हैं। तो संयुक्त पहचानकर्ताओं के ऊंट आवरण के XMLHttpRequestरूप में देखा जा सकता है ।
हार्डमैथ

2
यदि आप CVS में पहले पुनरीक्षण में वापस जाते हैं: bonsai.mozilla.org/cvsblame.cgi?file=mozilla/content/base/… यह ऐसा है। मूल लेखक विदुर अप्पाराव थे, इसलिए हो सकता है कि कोई उन्हें ट्रैक कर सकता है (वह आजकल अगारी में CTO है: agari.com/team/vidur-apparao ) और उससे पूछें। दुर्भाग्य से इस बारे में बगज़िला में कुछ भी नहीं है, नेटस्केप के दिनों में वे काम को ट्रैक करने के लिए बग दर्ज करने के बारे में महान नहीं थे।
टेड मिलेरेसेक

4

कुछ नामकरण दिशा-निर्देश "लघु" और "लंबे" योगों के बीच अंतर करते हैं। उदाहरण के लिए, Microsoft के .Net रनटाइम के लिए कोडिंग शैली मार्गदर्शिका निर्दिष्ट करती है कि लघु समनुदेशियों को ब्लॉक कैप में होना चाहिए जबकि लंबे समय तक समकित को केवल पहले अक्षर को कैपिटल में रखना चाहिए। एक लंबे समय के लिए उनकी दहलीज 3 अक्षर है, इसलिए "XmlHttpRequest" का पक्ष लेंगे, हालांकि यह सोचना अनुचित नहीं है कि कुछ लोग 4 वर्णों के साथ एक समान नियम का उपयोग कर सकते हैं।

मैंने mozilla.org स्टाइल गाइड की पुरानी प्रतियों को देखा है, और कोई भी समकित के बारे में कुछ भी निर्दिष्ट नहीं करता है, लेकिन यह संभव है कि या तो पुराने नेटस्केप गाइड ने किया था, या डेवलपर एक नियम लागू कर रहा था जिसे उसने कहीं और उठाया था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.