দুর্দান্ত প্রশ্ন! আমার ঠিক একই সমস্যা আছে; আমার ধ্রুবকগুলি মূলত: অ্যাপ্লিকেশনগুলিতে কোন ভাষাগুলি সমর্থন করে এবং অ্যাপগুলিতে কার্যকারিতার সাথে সম্পর্কিত সেগুলি সম্পর্কে অতিরিক্ত তথ্য।
দুর্ভাগ্যক্রমে, আমি সবচেয়ে ভাল জিনিসটি পেয়েছি (যেমন আপনি পেয়েছেন) হ'ল প্রতিটি ভাষার জন্য কেবল ধ্রুবককে নতুনভাবে সংজ্ঞায়িত করা, আপনি বর্তমানে যেমন করছেন (আমি জানি, আপনি অবশ্যই এটি শুনতে চেয়েছিলেন )।
স্পষ্টতই এটি ভুল অনুভব করে কারণ এটি DRY ( WET ?? ) এর বিপরীত । যাইহোক, ধ্রুবকগুলিকে এত কম সময়ে পরিবর্তন করা উচিত যে প্রতিটি ভাষার জন্য তাদের পুনরায় সংজ্ঞায়নের 5-10 মিনিটের সময়টি আমাকে সত্যিই বিরক্ত করে না। দিনের শেষে, ভাগ করা কনফিগারেশন বা কোড জেনারেশনের মতো কিছু 'মার্জিত' সমাধান সহ ছোট সমস্যাগুলি সমাধান করতে কয়েক ঘন্টা বা দিন সময় নিতে পারে, তাই আসলে কী লাভ? কিছু ভুল হওয়ার ঝুঁকির সাথে জটিলতা যুক্ত করা হয়েছে যা সমাধানের জন্য অতিরিক্ত প্রচেষ্টা নিতে পারে যা আমি মোকাবিলা করতে চাই তা নয়।
তদুপরি, যদি আপনার অ্যাপ্লিকেশনটিতে এমন অনেকগুলি ধ্রুবক থাকে যেগুলি আপনি যুক্ত করতে বা পরিবর্তন করার সময় তাদের প্রতি ভাষা পুনরায় সংজ্ঞায়িত করতে সময় লাগে, তবে আপনার সাথে মোকাবেলা করার জন্য আরও একটি গুরুত্বপূর্ণ কোড গন্ধ থাকতে পারে এবং সেই সময়ে আপনি ফিরে আসতে চাইতে পারেন আরও জটিল কিছু।
সুতরাং সংক্ষেপে, প্রতিটি ভাষার জন্য তাদের নতুন সংজ্ঞা দেওয়া আমার সেরা সমাধান ছিল এবং আমি এখনও এমন আরও কিছু ডিআরওয়াইয়ের কথা ভাবতে পারি যেটির সাথে মোকাবিলা করার চেয়ে বেশি ঝুঁকির কারণ নেই।
অবশ্যই একটি কাজ অবশ্যই করা উচিত তা হ'ল আপনার ধ্রুবকগুলি জেনারালাইজড (এবং ভাষা বিজ্ঞানের) পদ্ধতিতে ভালভাবে নথিভুক্ত হয়েছে (আমাদের একটি স্পেস, বিবিধ ডকস, 'অঙ্কন বোর্ড' ডকস ইত্যাদি রয়েছে এমন একটি ডকুমেন্টারি রেপো রয়েছে যেখানে আমরা রাখি where এই নথীটি). এছাড়াও নিশ্চিত করুন যে তাদের সংজ্ঞা সিঙ্কে রাখার জন্য আপনার কাছে যান্ত্রিক (গুলি) রয়েছে। ইচ্ছাকৃত কোড ডুপ্লিকেশন থেকে অল্প পরিমাণে মনস্তাত্ত্বিক ঝামেলা বাদে ডুপ্লিকেশন পদ্ধতির সাথে এটি আপনার যতটা সমস্যা। তবে শেষ অবধি, আপনার ধ্রুবক পরিবর্তনগুলি খুব ইচ্ছাকৃত এবং বিরল হওয়া উচিত, তাই সুসংগত সমস্যাগুলি অবশ্যই শূন্য হওয়া উচিত।
আমার আরও উল্লেখ করা উচিত যে কয়েক বছর ধরে, আমি বিভিন্ন লাইব্রেরির বহু ভাষা বন্দর দেখেছি (তারা এই মুহুর্তটি কী তা মনে করতে খুব ক্লান্ত হয়ে পড়েছে) যেগুলি তাদের নিজস্ব ভাষায় অবিচ্ছিন্নভাবে সংজ্ঞায়িত থাকে। কোনও ভাগ করা কনফিগারেশন নেই, কোনও কোড জেনারেশন নেই (গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ছাড়া ... তবে আসুন, গুগলের এমন জটিলতা বহন করার সংস্থান রয়েছে)। সুতরাং আমি মনে করি আমরা এটির উপর একটি ইটের প্রাচীর আঘাত করেছি। সম্ভবত এই সমস্যাটি মোকাবেলা করার জন্য কেউ শেষ পর্যন্ত একটি লাইব্রেরি নিয়ে আসবে;)