नामों के बारे में प्रोग्रामरों की गलतफ़हमियाँ (2010)
(kalzumeus.com)- हर व्यक्ति का ठीक एक मानक (आधिकारिक) नाम होता है। (canonical full name)
- हर व्यक्ति ठीक एक ही नाम का उपयोग करता है।
- किसी विशेष समय पर, हर व्यक्ति का ठीक एक मानक नाम होता है।
- किसी विशेष समय पर हर व्यक्ति ठीक एक नाम का उपयोग करता है।
- लोगों के पास नामों की एक निश्चित संख्या होती है।
- किसी व्यक्ति का नाम निश्चित आकार की जगह में अनिवार्य रूप से फिट हो जाएगा।
- किसी व्यक्ति का नाम नहीं बदलता।
- किसी व्यक्ति का नाम बदलता है, लेकिन केवल कुछ खास घटनाओं की वजह से ही बदलता है।
- किसी व्यक्ति का नाम ASCII अक्षरों में लिखा जाता है।
- किसी व्यक्ति का नाम किसी निश्चित string set में लिखा जा सकता है। (Character set)
- किसी व्यक्ति का नाम Unicode पर मैप होता है। (Unicode code point)
- किसी व्यक्ति के नाम में uppercase और lowercase का फर्क मायने रखता है।
- किसी व्यक्ति के नाम में uppercase और lowercase का फर्क मायने नहीं रखता।
- किसी व्यक्ति के नाम में कभी-कभी prefix या suffix लगते हैं, लेकिन उन्हें नज़रअंदाज़ करना ठीक है।
- किसी व्यक्ति के नाम में अंक शामिल नहीं होते।
- किसी व्यक्ति का पूरा नाम पूरी तरह uppercase में नहीं लिखा जाता।
- किसी व्यक्ति का पूरा नाम पूरी तरह lowercase में नहीं लिखा जाता।
- किसी व्यक्ति के नाम का एक क्रम होता है, और हर सिस्टम में वही क्रम एक जैसा लागू होता है।
- किसी व्यक्ति का दिया गया नाम और उपनाम अनिवार्य रूप से अलग होते हैं।
- किसी व्यक्ति के नाम में last name, family name, या ऐसा कोई नामांकन शामिल होता है जिसे रिश्तेदार साझा करते हों।
- किसी व्यक्ति का नाम दुनिया भर में अद्वितीय होता है।
- किसी व्यक्ति का नाम कम-से-कम लगभग दुनिया भर में अद्वितीय होता है।
- अच्छा ठीक है, लेकिन फिर भी यह तो नहीं हो सकता कि दस लाख लोगों का नाम बिल्कुल एक जैसा हो।
- मेरे सिस्टम को कभी Chinese नामों को संभालना नहीं पड़ेगा।
- या Japanese नामों को।
- या Korean नामों को।
- या Irish, British, American, Spanish, Mexican, Brazilian, Peruvian, Russian, Swedish, Botswanan, South African, Trinidadian, Haitian, French, या Klingon Empire जैसी जगहों के नामों को। इन सब जगहों पर आम तौर पर “अजीब” नामकरण प्रणालियाँ इस्तेमाल होती हैं।
- Klingon Empire तो मज़ाक है, है न?
- उस सांस्कृतिक सापेक्षवाद को छोड़ो! कम-से-कम हमारे लोग तो नामों के लिए एक ही naming system इस्तेमाल करते हैं।
- ऐसा algorithm मौजूद है जो नामों को transform करके बिना किसी हानि के मूल रूप में वापस ला सकता है। (हाँ हाँ, input को ज्यों का त्यों वापस कर देने वाला algorithm तो संभव है। उसके लिए एक gold star ले लो।)
- आप पक्का कह सकते हैं कि गाली-गलौज की dictionary में किसी भी व्यक्ति का नाम शामिल नहीं होगा।
- किसी व्यक्ति का नाम जन्म के समय तय हो जाता है।
- ठीक है, जन्म के समय नहीं तो जन्म के तुरंत बाद तय हो जाता है।
- अच्छा अच्छा, जन्म के लगभग एक साल के भीतर।
- पाँच साल?
- मज़ाक कर रहे हो, है न?
- किसी एक व्यक्ति का डेटा रखने वाले दो अलग-अलग सिस्टम उस व्यक्ति के लिए एक ही नाम का उपयोग करेंगे।
- अगर सिस्टम अच्छी तरह डिज़ाइन किया गया है, तो दो अलग-अलग data entry operator एक ही व्यक्ति के नाम के लिए पूरी तरह समान string दर्ज करेंगे। (bitwise equivalent strings)
- जिन लोगों के नाम मेरे सिस्टम को तोड़ देते हैं, वे अजीब exception cases हैं। उनके पास निश्चित रूप से कोई स्वीकार्य नाम होना चाहिए था। जैसे 田中太郎।
- लोगों के नाम होते हैं।
9 टिप्पणियां
अच्छा design हर case को normalize करने में नहीं, बल्कि नाम जैसे जटिल और बदलते रहने वाले data के सामने विनम्र होने से शुरू होता है।
एक आम गलतफ़हमी: अच्छा डिज़ाइन ऐसा होना चाहिए कि वह बदलती हुई सभी परिस्थितियों का "पूरी तरह सामना" कर सके
zzz
बहुत अच्छी बात है!
ओह सही.. कृपया शीर्षक में (2010) भी जोड़ दें @xguru
धन्यवाद
यह 2010 की पोस्ट है। क्या अब ऐसा माहौल है जहाँ कोई अपना नाम दर्ज कर सके?
या फिर जापानी, या फिर कोरियाई
हाहा
मूल लेख में आगे-पीछे एक छोटा-सा परिचय और कुछ हास्य भी है, इसलिए एक बार जाकर देखना अच्छा रहेगा!