সংক্ষিপ্ত উত্তর: হ্যাঁ, পাঠ্য অক্ষরের ক্রম সংরক্ষণ এবং অ্যাক্সেস করা ছাড়া স্ট্রিংগুলি অন্য কোনও কাজের জন্য আদর্শ নয় এবং এমনকি যদি কোনও বিমূর্তির অন্তর্নিহিত বিটগুলি স্ট্রিং থাকে তবে সেগুলি ভেরিয়েবল বা ধ্রুবক হিসাবে উল্লেখ করার সুবিধা রয়েছে ।
দীর্ঘ উত্তর: বেশিরভাগ ভাষাগুলি এমন ধরণের প্রস্তাব দেয় যা আপনার সমস্যার ডোমেনের নিকটবর্তী এবং এমনকি যদি তা না হয় তবে তাদের সম্ভবত কিছু পদ্ধতি রয়েছে যার মাধ্যমে আপনি left
কোনও সত্তা হিসাবে ব্যাখ্যা করতে পারেন যা right
(ইত্যাদি) থেকে আলাদা । এটি ব্যবহার করে স্ট্রিংয়ে পরিণত "left"
করা কেবলমাত্র ভাষা এবং আইডিইর সহায়ক কার্যকারিতা যেমন ত্রুটি পরীক্ষা করা বাজেয়াপ্ত করা। এমনকি যদি আপনি ব্যবহার করতে হয়
left = "left";
বা সমতুল্য কিছু, আপনি যখন আপনার কোড জুড়ে উল্লেখ করেন তখন স্ট্রিংটি ব্যবহার করার সুবিধা রয়েছে। উদাহরণ স্বরূপ,
if (player.direction == Left)
একটি সংকলন-সময় ত্রুটি (সেরা কেস, জাভা এবং এ জাতীয়) হিসাবে সনাক্ত করা হবে বা কোনও আইডিই দ্বারা এর বিটকে ভুল হিসাবে চিহ্নিত করা হবে (সবচেয়ে খারাপ কেস, বেসিক এবং এ জাতীয়)।
তদুপরি, left
একটি উল্লেখযোগ্য সত্তা হিসাবে ধারণা থাকা আপনাকে দিকনির্দেশের প্রকারের সাথে যে কোনও দিকনির্দেশনা স্থির করে তা স্থির করতে সহায়তা করবে। ব্যবহার করে "left"
, দিকটি একটি হওয়ার প্রতিশ্রুতিবদ্ধ String
। আপনি যদি এই ধরণের জন্য আরও ভাল বিমূর্ততা সন্ধান করেন বা তৈরি করেন তবে আপনার প্রতিটি কোডের পরিবর্তনে আপনার পুরো কোডের বডিটি আবিষ্কার করতে হবে "left"
। ধ্রুবক বা ভেরিয়েবলের কোনও প্রকারের প্রয়োজন হবে না যদি প্রকারটি বিশদভাবে বর্ণিত হয়।
আপনি প্রকৃতপক্ষে যে ধরণটি চান তা আপনার ডোমেনের জন্য বিশেষ। আপনার কোডটি আপনার সাথে কী করার পরিকল্পনা করছে left
? সম্ভবত আপনি কোনও টেক্সচার বা স্প্রাইটের এক্স অক্ষটি আয়না করতে চান যা বাম মুখোমুখি হয় বা এগিয়ে চলেছে; যদি তা হয় তবে আপনি এমন left
কোনও সম্পত্তি বা পদ্ধতি দিয়ে এমন কোনও বস্তু তৈরি করতে চাইতে পারেন যা সেই আচরণকে প্রতিফলিত করে, আপনার right
অবজেক্টটির বিপরীত অ-মিরর ফলাফল রয়েছে। আপনি স্প্রিটস বা টেক্সচারের প্রতিনিধিত্ব করে এমন কোনও অবজেক্টে সেই যুক্তিটি করতে পারেন, সেক্ষেত্রে আবার উপরে বর্ণিত কারণগুলির "left"
পরিবর্তে আপনি ব্যবহারের জন্য ক্ষতিগ্রস্থ হবেন left
।
জাভাতে (এবং সম্ভবত অন্যান্য ভাষাগুলি যা আমি এখনও জানি না), enum
এটি একটি ভাল বিকল্প কারণ জাভাতে, enum
যেমন final class
সীমাবদ্ধ উদাহরণগুলির একটি সীমিত সেট সহ কার্যকর। আপনার যদি প্রয়োজন হয় তবে আচরণগুলি সংজ্ঞায়িত করতে পারেন এবং ফাইলের বাইরে যে কোনও ঝামেলা ছাড়াই আপনি একটি উন্মুক্ত শ্রেণিতে স্যুইচ করতে পারেন যা ঘোষণা করে enum
তবে অনেকগুলি ভাষা enum
একটি আদিম প্রকার হিসাবে দেখে বা ব্যবহারের জন্য বিশেষ বাক্য গঠন প্রয়োজন। এটি সেই enum
হুডকে কোডে ফাঁস করে যার কোনও ব্যবসা নেই এবং পরে এটি সংশোধন করার প্রয়োজন হতে পারে। enum
বিকল্পটি বিবেচনা করার আগে আপনি নিজের ভাষার ধারণাটি বুঝতে পেরেছেন তা নিশ্চিত করুন ।