मुझे पता है कि यहां पहले से ही कुछ प्रश्न हैं जो इस विषय से निकटता से संबंधित हैं, लेकिन उनमें से कोई भी Ubiquitous Language को शुरुआती बिंदु के रूप में नहीं लेता है, इसलिए मुझे लगता है कि इस प्रश्न को सही ठहराता है।
उन लोगों के लिए जो नहीं जानते: सर्वव्यापी भाषा एक (दोनों बोली और लिखित) भाषा को परिभाषित करने की अवधारणा है जो अनुवाद समस्याओं और गलतफहमी के कारण विसंगतियों और गलतफहमी से बचने के लिए डेवलपर्स और डोमेन विशेषज्ञों में समान रूप से उपयोग की जाती है। आप एक ही शब्दावली को कोड में दिखाएंगे, किसी भी टीम के सदस्य, कार्यात्मक चश्मा और व्हाट्सएप के बीच बातचीत।
इसलिए, जो मैं सोच रहा था कि गैर-अंग्रेजी डोमेन में Ubiquitous Language के साथ कैसे व्यवहार किया जाए।
व्यक्तिगत रूप से, मैं पूरी तरह से अंग्रेजी में प्रोग्रामिंग कोड लिखने का पुरजोर पक्ष लेता हूं, जिसमें टिप्पणी भी शामिल है लेकिन स्थिरांक और संसाधनों को छोड़कर।
हालाँकि, एक गैर-अंग्रेजी डोमेन में, मुझे यह निर्णय लेने के लिए मजबूर किया जाता है:
- डोमेन की प्राकृतिक भाषा में सर्वव्यापी भाषा को दर्शाते हुए कोड लिखें।
- अंग्रेजी के लिए सर्वव्यापी भाषा का अनुवाद करें और डोमेन की प्राकृतिक भाषा में संवाद करना बंद करें।
- एक तालिका को परिभाषित करें जो परिभाषित करती है कि कैसे सर्वव्यापी भाषा अंग्रेजी में अनुवाद करती है।
इन विकल्पों के आधार पर मेरे कुछ विचार इस प्रकार हैं:
1) मेरे पास मिश्रित-भाषा कोड के खिलाफ एक मजबूत विरोधाभास है, जो कि गैर-अंग्रेजी प्रकार / सदस्य / चर नाम आदि का उपयोग करके कोडिंग है। अधिकांश प्रोग्रामिंग भाषाएं काफी हद तक अंग्रेजी को 'सांस' देती हैं और अधिकांश तकनीकी साहित्य, डिजाइन पैटर्न के नाम आदि अंग्रेजी में भी हैं। इसलिए, ज्यादातर मामलों में पूरी तरह से गैर-अंग्रेजी भाषा में कोड लिखने का कोई तरीका नहीं है, इसलिए आप मिश्रित भाषाओं के साथ वैसे भी समाप्त होते हैं।
2) यह डोमेन विशेषज्ञों को उल के अंग्रेजी समकक्ष के बारे में सोचना और बात करना शुरू करने के लिए मजबूर करेगा, कुछ ऐसा जो शायद स्वाभाविक रूप से उनके पास नहीं आएगा और इसलिए संचार में काफी बाधा डालता है।
3) इस मामले में, डेवलपर्स अपनी मूल भाषा में डोमेन विशेषज्ञों के साथ संवाद करते हैं, जबकि डेवलपर्स अंग्रेजी में एक दूसरे के साथ संवाद करते हैं और सबसे महत्वपूर्ण बात यह है कि वे यूएल के अंग्रेजी अनुवाद का उपयोग करके कोड लिखते हैं।
मुझे यकीन है कि मैं पहले विकल्प के लिए नहीं जाना चाहता हूं और मुझे लगता है कि विकल्प 3 विकल्प 2 से बहुत बेहतर है। आपको क्या लगता है? क्या मुझे अन्य विकल्प याद आ रहे हैं?
अपडेट करें
आज, लगभग एक साल बाद, दैनिक आधार पर इस मुद्दे से निपटा, मेरा कहना है कि विकल्प 3 ने मेरे लिए बहुत अच्छा काम किया है।
यह उतना थकाऊ नहीं था जितना मैंने शुरू में आशंका जताई थी और ग्राहक से बात करते समय वास्तविक समय में अनुवाद करना कोई समस्या नहीं थी।
मैंने अपने अनुभव के आधार पर, निम्नलिखित फायदे भी सच पाए।
- UL का अनुवाद करने से आप UL और यहां तक कि डोमेन को भी परिभाषित करने पर अधिक ध्यान देते हैं, खासकर जब आप नहीं जानते कि किसी शब्द का अनुवाद कैसे करना है और आपको शब्दकोशों आदि के माध्यम से देखना शुरू करना होगा। इससे मुझे डोमेन मॉडलिंग के निर्णयों पर भी पुनर्विचार करना पड़ेगा। कभी कभी।
- यह आपको अंग्रेजी भाषा के अपने ज्ञान को अधिक गहरा बनाने में मदद करता है।
- जाहिर है, आपका कोड एक मन अश्लील अश्लीलता के बजाय देखने के लिए बहुत अधिक सुखद है।