জাভা শ্রেণীর সংস্করণ নির্দিষ্ট নামকরণের সম্মেলন


10

আমাকে দুটি সফ্টওয়্যার (মেছ। সিমুলেশন, নন-সিএস) এর মধ্যে একটি অ্যাডাপ্টার তৈরি করতে হবে। ধরে নিচ্ছি আমাদের একটি ক্লাস নামকরণ হয়েছে ThatThing। আমাকে বিভিন্ন বিক্রেতার নির্দিষ্ট প্রয়োগ বাস্তবায়ন করতে হবে। এই সংস্করণগুলির অর্থবহ নাম নেই (গ্রহন হেলিওস, নীল ইত্যাদি থেকে আলাদা)।

১. সংস্করণ সংখ্যাটি প্রকাশ করার মতো ক্লাসের নাম কীভাবে রাখব?

আমি ক্লাস মত দেখতে ThatThing_3_6_Impl, ThatThing_3_7_Implবেশ বিশ্রী।

উত্তর:


20

একটি পৃথক প্যাকেজের নাম ব্যবহার করুন।

com.example.version36.ThatThing
com.example.version37.ThatThing

এটি আপনাকে নির্দিষ্ট সংস্করণগুলির জন্য সমস্ত "জিনিস" একসাথে রাখতে দেয়।

অ্যাপাচি কমন্স ল্যাং তাদের "সংস্করণ 3" পুনরায় লেখার সময় এই ফর্ম্যাটটি ব্যবহার করেছিল।


যেহেতু আপনার একক শ্রেণিতে উভয় সংস্করণ উল্লেখ করা দরকার, আমি নামগুলি ছোট করব:

ThatThing36
ThatThing37

আপনার ক্ষেত্রে এটি যথেষ্ট বর্ণনামূলক বলে মনে হচ্ছে এবং এটি কুৎসিত Implএবং এরগুলি সরিয়ে দেয় _


এই ভাল লাগছে। আমি এটা সম্পর্কে চিন্তা করব. যদিও এই সংস্করণগুলি একসাথে আসে সেই জায়গায়, আমাদের রেফারেন্সগুলির জন্য পুরোপুরি যোগ্যতাসম্পন্ন নাম ব্যবহার করা উচিত, তাই না?
ব্যবহারকারী 802421

তারা কীভাবে একত্রিত হয়? আপনি কি নির্ভরতা ইনজেকশন ব্যবহার করছেন? যে কোনও উপায়ে, আপনার প্রশ্নের উত্তর দিতে, হ্যাঁ।
জেরেমি হিলার

তাদের কাছে ডেটা মডেলের অনেকগুলি সংস্করণ রয়েছে যা রিলিজের মধ্যে পরিবর্তিত হয়। বৈশিষ্ট্যের কয়েকটি নির্দিষ্ট উপগ্রহ একসাথে মিশ্রিত হচ্ছে। কোনও গ্রন্থাগার সমর্থন নেই (যেমন কোনও ডি, কোনও কোডজেন)। এই 11 বছর সফ্টওয়্যার বিবর্তন :( ইতিহাস।
user802421

দু: খিত। এটা কি সম্ভব যে version37.ThatThingবাড়িয়ে version36.ThatThingদেওয়ার ফলে কিছুটা ব্যথা উপশম হবে?
জেরেমি হিলার

দুর্ভাগ্যক্রমে, তারা কাঠামোগতভাবে পৃথক এবং জটিল রূপান্তর প্রয়োজন। এটি বিটম্যাপ এবং ভেক্টর গ্রাফিকের মতো।
ব্যবহারকারী 802421

2

এতে অনেক কিছু যায় আসে না। একটি কনভেনশন চয়ন করুন যা আপনাকে এটি প্রকাশ করার জন্য এবং তার সাথে আটকে রাখার জন্য প্রয়োজনীয় সমস্ত কিছু প্রকাশ করে।

আপনি ThatThing3_6"সেই জিনিসটি 3.6" এর জন্য ব্যবহার করতে পারেন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.