मेन्यू

छोटे क्षेत्र और विशेष कोड: हर जगह दो अक्षर का कोड नहीं होता

छोटे क्षेत्र और विशेष कोड इस मान्यता को उजागर करते हैं कि हर जगह का दो अक्षर का कोड होता है। सीमा के मामले तय करते हैं कि सिस्टम गिरेगा या टूटेगा।

प्रकाशित

  • सीमा के मामले
  • देश कोड
  • परीक्षण डेटा

छोटे क्षेत्र और विशेष कोड वह जगह हैं जहाँ किसी देश डेटा मॉडल को पता चलता है कि उसके डिज़ाइन का कितना हिस्सा मान्यता भर था। डेटासेट बड़ी, स्पष्ट और अच्छी तरह प्रलेखित जगहों के लिए ख़ूबसूरती से चलता है, और फिर कोई आश्रित क्षेत्र, विदेशी विभाग या आरक्षित कोड आ जाता है और कुछ न कुछ छोड़ना पड़ता है।

इन मामलों का मूल्य यह है कि ये जोड़ने में सस्ते हैं और संरचनात्मक समस्याएँ उजागर करने में असामान्य रूप से अच्छे। जो मॉडल इन्हें सँभाल लेता है, उसने आम तौर पर कई महत्वपूर्ण निर्णय स्पष्ट कर दिए होते हैं।

दो अक्षर के कोड की मान्यता क्यों टूटती है?

क्योंकि कोड व्यवस्थाएँ ऐसे उद्देश्यों के लिए बनी थीं जिनमें हर जगह के लिए दो अक्षर का कोड ज़रूरी नहीं होता। दो अक्षर की व्यवस्था परिचित है, पर तीन अक्षर की व्यवस्था और एक संख्यात्मक व्यवस्था भी है, और हर एक अलग समस्या हल करने के लिए मौजूद है। संख्यात्मक व्यवस्था विशेष रूप से भाषाओं के आर-पार अक्षरों की दोअर्थता से बचने के लिए बनी।

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

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

आरक्षित और हटाए गए कोडों का क्या होना चाहिए?

कोड जोड़े जाते हैं, भविष्य के उपयोग के लिए आरक्षित किए जाते हैं, और वापस लिए जाते हैं। वापस लिए गए कोड दुनिया से गायब नहीं होते; वे ऐतिहासिक रिकॉर्डों में, संग्रहित दस्तावेज़ों में और पुराने डेटाबेसों में बने रहते हैं, और कोड हटाए जाने के बाद भी आयात में आते रहेंगे।

सिस्टम को तय करना होता है कि उनका क्या करना है। उन्हें सीधे अस्वीकार करना इतिहास पढ़ने की क्षमता तोड़ देता है। उन्हें चुपचाप वर्तमान मान लेना वर्तमान के बारे में एक झूठा तथ्य गढ़ देता है। काम का मध्य रास्ता यह है कि उन्हें ऐसे चिह्न के साथ स्वीकार किया जाए जो बताए कि वे वर्तमान नहीं हैं, और जहाँ भी वह मान दिखाया जाए वहाँ यह भेद दिखाई देता रहे।

यही तर्क उन कोडों पर लागू होता है जो कभी इस्तेमाल ही नहीं किए गए और आरक्षित रखे गए थे। आरक्षित कोड कोई त्रुटि नहीं; यह संख्या-क्रम में ऐसा अंतराल है जिसे किसी ने जानबूझकर चुना, और जो सत्यापन नियम उसे विकृत मानकर अस्वीकार करता है वह इनपुट के बजाय मानक के बारे में गलत है।

पुराने नाम और वे नाम जो कोई जगह अपने लिए इस्तेमाल करती है

नाम बदलते हैं, और बदलाव कहीं भी एक साथ नहीं होता। एक अवधि तक नया नाम आधिकारिक रहता है जबकि पुराना नाम अब भी अधिकतर दस्तावेज़ों में होता है, और जगहों के नामों में स्थानीय रूप तथा अंतरराष्ट्रीय रूप अक्सर भिन्न होते हैं।

इसलिए तीन तरह के नाम अलग करने पड़ते हैं। वर्तमान आधिकारिक नाम, पुराने रिकॉर्डों में आने वाला नाम, और वह नाम जो वहाँ रहने वाले लोग स्थानीय रूप से इस्तेमाल करते हैं। जो सिस्टम इन तीनों में से एक ही रखता है वह किसी न किसी दिशा में गलत होगा, और वह दिशा इस पर निर्भर है कि पढ़ने वाला कौन है।

यह वह जगह है जहाँ डेटा साफ़ करना उसे नष्ट कर सकता है। अच्छे इरादे से किया गया कोई सामान्यीकरण जो हर ऐतिहासिक रिकॉर्ड को वर्तमान नाम पर लिख देता है, संग्रह को वर्तमान से सहमत करा देता है और स्वयं से सहमत होना बंद करा देता है।

लागू नहीं और अज्ञात एक बात नहीं है

छोटे क्षेत्र इस भेद को अनदेखा करना असंभव बना देते हैं, क्योंकि यही वे मामले हैं जहाँ कोई फ़ील्ड सचमुच लागू ही नहीं होती।

जो फ़ील्ड लागू नहीं होती उसका अर्थ है कि उस जगह के लिए वह धारणा मौजूद ही नहीं, इसलिए देखने के लिए कुछ नहीं और कोई सही मान नहीं। जो फ़ील्ड अज्ञात है उसका अर्थ है कि मान मौजूद है पर अभी तय नहीं हुआ। ये दोनों एक ही खाली खाना पैदा करते हैं और उलटी प्रतिक्रियाएँ माँगते हैं, और जो जाँच सूची इन्हें एक अवस्था में दर्ज करती है वह ऐसा काम पैदा करती रहेगी जो पूरा नहीं हो सकता।

जहाँ वह फ़ील्ड पोस्टल कोड व्यवस्था है, वहाँ अंतर बहुत साफ़ है। पोस्टल कोड प्रारूपों की मार्गदर्शिका बताती है कि यह फ़ील्ड जगह-जगह कितनी बदलती है। हर देश की स्थिति को किसी भी सत्यापन से पहले वर्गीकृत करना पड़ता है, क्योंकि जो सिस्टम मान लेता है कि फ़ील्ड मौजूद है वह ऐसी हर प्रविष्टि को अधूरा बताएगा जिसमें वह नहीं है, और जो मान लेता है कि वह नहीं भी हो सकती है वह सचमुच ख़राब इनपुट भी स्वीकार कर लेगा। इस विषय का विस्तृत विवरण देश के अनुसार पोस्टल कोड प्रारूप में है।

असमर्थित और विकृत एक बात नहीं है

यह वह भेद है जो सबसे अधिक खोता है, और इसकी उपयोगकर्ता को दिखने वाली क़ीमत सबसे साफ़ है।

जिस मान को कोई सिस्टम समर्थित नहीं करता, वह गलत मान नहीं है। वह अपनी जगह के लिए बिलकुल सही बना हो सकता है, ऐसे प्रारूप में जिसे सँभालना सिस्टम को कभी सिखाया ही नहीं गया। उसे उपयोगकर्ता को अमान्य बताना यह कहना है कि उसने गलती की, जबकि सीमा प्राप्त करने वाले पक्ष की है।

सिस्टम को क्या मिला यह जो जानता है उसे क्या कहना चाहिए
ऐसा मान जो उसके लागू नियमों का पालन करता है मान वैध है स्वीकार करें
ऐसा मान जो उन नियमों का पालन करता है जो उसने लागू नहीं किए मान वैध हो सकता है यहाँ जाँचा नहीं जा सकता
ऐसा मान जो उन नियमों को तोड़ता है जो उसने लागू किए हैं मान अमान्य है विशिष्ट समस्या बताएँ
ऐसी फ़ील्ड जो इस जगह के लिए मौजूद ही नहीं जाँचने को कुछ नहीं लागू नहीं, अनुपलब्ध नहीं

बीच की दो पंक्तियों को मिला देना ही सामान्य विफलता है। यह ऐसा उत्पाद बनाता है जो ठीक उन जगहों पर आत्मविश्वास से गलत होता है जहाँ उसका ज्ञान सबसे पतला है, और वहाँ के ग्राहक ही पहले ध्यान देते हैं।

डेवलपरों के लिए: तीसरी अवस्था को व्यक्त करने योग्य बनाएँ

वैध या अमान्य का द्विआधारी परिणाम यह नहीं दिखा सकता कि कुछ यहाँ जाँचा नहीं गया, इसलिए सत्यापन परिणाम को एक तीसरा मान चाहिए जो ईमानदारी से इंटरफ़ेस तक पहुँचे। यह नियम नहीं, किसी प्रकार का बदलाव है, और इसीलिए समय के दबाव में यह छूट जाता है और बाद में पछताया जाता है।

फिर सीमा के मामलों का जानबूझकर परीक्षण करें। ऐसी जगह शामिल करें जिसका कोड केवल एक व्यवस्था में आता है, ऐसा कोड जो हटा दिया गया है, ऐसी जगह जहाँ पोस्टल कोड व्यवस्था ही नहीं है, और ऐसा नाम जो बदल चुका है। ये चार मामले छोटे, तेज़ और असामान्य रूप से उपजाऊ हैं, और इन्हें टिकट आने पर जोड़ने के बजाय स्थायी रूप से सुइट में रखना चाहिए।

देश और क्षेत्र निर्देशिका यह देखने की उचित जगह है कि कोई देश और उसके प्रभाग अपवाद के बजाय पहले दर्जे की प्रविष्टि माने जाने पर कैसे दिखाए जाते हैं, और संयुक्त राज्य प्रविष्टि दिखाती है कि पूरी तरह निर्दिष्ट प्रविष्टि पतली प्रविष्टि के बगल में कैसी दिखती है।

इस लेख में दिए क्षेत्र, कोड, नाम और फ़ील्ड-अवस्थाएँ एक डिज़ाइन समस्या समझाने के लिए जोड़े गए गढ़े हुए सीमा-मामले हैं। वे कोई डेटासेट नहीं हैं, वे किसी वास्तविक क्षेत्र का वास्तविक वर्गीकरण नहीं दर्शाते, और यहाँ कुछ भी किसी विशिष्ट जगह के तथ्य के रूप में उद्धृत नहीं किया जाना चाहिए।

आगे के कदम

ऊपर के चार सीमा-मामले अपनी सुइट में जोड़ें और देखें कि उनमें से कौन गलत उत्तर देता है और कौन अनसँभाला जाता है। परीक्षण डेटा के लिए देश चुनने की मार्गदर्शिका बताती है कि ऐसे मामले किसी डिफ़ॉल्ट सेट में जानबूझकर कैसे रखें, और सीमा पार पता परिदृश्यों की मार्गदर्शिका बताती है कि जब ऐसी कोई जगह एक ही लेन-देन के कई देशों में से एक के रूप में आ जाए तो क्या होता है। ये दोनों यहाँ उपलब्ध हैं: परीक्षण डेटा के लिए देश चुनना और सीमा पार पता परिदृश्य।

आगे पढ़ें

86 देशों के लिए पता और पहचान डेटा प्रारूप संबंधित गाइड

86 देशों के लिए पता और पहचान डेटा प्रारूप संबंधित गाइड

यहाँ केवल इस पृष्ठ के विषय से जुड़े लेख दिखाए गए हैं।