আমি কখনই অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের প্রবক্তা হয়ে উঠিনি এবং আমি যদি কিছুটা কম বেড়েই চলে তবে সাধারণভাবে প্রোগ্রামিং সম্পর্কে আমি আরও বেশি শিখি। আমি যেমন বিভিন্ন প্রোগ্রামিং দৃষ্টান্ত অধ্যয়ন করেছি, আমি বুঝতে পেরেছি যে অপরিবর্তনীয়তা প্রোগ্রাম ডিজাইনের অন্যতম একটি কেন্দ্রীয় ধারণা, যে কোনও দর্শন অনুযায়ী লিখিত সফ্টওয়্যারকে প্রভাবিত করে । এটি কার্যকর সুরক্ষা গ্যারান্টির শীর্ষে অপটিমাইজেশন এবং সম্মতিতে জড়িতগুলির সাথে কার্যকরী প্রোগ্রামিংয়ে অত্যন্ত গুরুত্বপূর্ণ।
মূলত, অপরিবর্তনীয় হতে পারে এমন সমস্ত কিছু সম্ভবত হওয়া উচিত, যদি না আপনি পরিবর্তনীয় অবস্থার জন্য কোনও ভাল কারণ পেয়ে থাকেন। আমার অভিজ্ঞতা অনুসারে, এই লক্ষ্যের অনুধাবনে যে কোনও ভাষায় প্রোগ্রাম লেখাই নিরাপদ, আরও ভাল কোডের দিকে নিয়ে যায় । const
প্রযোজ্য — অনিবার্যতা বিনামূল্যে যেখানে ব্যবহার করে আপনার হারাতে হবে না !
(প্রসঙ্গক্রমে, আমি সি ++ এর একটি উপভাষার জন্য জিসিসির একটি কাঁটাচামচ তৈরি করার ধারণাটি দিয়েছিলাম, যেখানে const
স্পষ্টভাবে যোগ্যতা না থাকলে সমস্ত প্রকারেরই রয়েছে mutable
। যদি এ জাতীয় কোনও বিষয়ে সমর্থন থাকে, তবে আমি এটি রক্ষণাবেক্ষণ এবং ব্যবহারের জন্য সম্পূর্ণ প্রতিশ্রুতিবদ্ধ করব।)
ওও দৃষ্টিকোণ থেকে, অপরিবর্তনীয়তা সীমাহীন লেখার অ্যাক্সেস প্রতিরোধ করে এনক্যাপসুলেশন প্রয়োগ করে। এটি ক্লাসগুলির মধ্যে সংযোগ হ্রাস করে কারণ অপরিবর্তনীয় বস্তুগুলি অবশ্যই তাদের নিজস্ব রাজ্য পুরোপুরি পরিচালনা করতে পারে এবং এইভাবে সাধারণ মূল্যবোধের মতো আচরণ করে। কনস্টের সঠিকতা প্রোগ্রামের যথার্থতা প্রমাণ করার প্রক্রিয়াটি উল্লেখযোগ্যভাবে সহজ করে, বিশেষত সমবর্তী প্রোগ্রামিংয়ের প্রসঙ্গে। সি ++ রেফারেন্স এবং সি ++ 0 এক্সের মূল্যায়ন রেফারেন্স শব্দার্থবিজ্ঞানের সাহায্যে আপনি সমস্ত জায়গাতেই অনুলিপি করার ওভারহেড সম্পর্কে চিন্তা না করেই অপরিবর্তনীয় বস্তুর ব্যবহার করতে পারেন। এছাড়াও, যদি আপনি বেশিরভাগ স্থায়ী অবজেক্টের সাথে কাজ করছেন তবে সংকলকটি বেশ চমত্কার আশ্চর্যজনক অপ্টিমাইজেশনের যাদুতে কাজ করতে পারে।
আমি জানি এটি const
সর্বত্র টাইপ করতে সফল হয় তবে আপনি দ্রুত এটিতে অভ্যস্ত হয়ে যান এবং নির্ভরযোগ্যতা এবং রক্ষণাবেক্ষণের ক্ষেত্রে সুবিধাগুলি সময়ের সাথে সাথে স্পষ্ট হয়ে ওঠে। আমি একজন উজ্জ্বল লেখক নই, এবং এটির পক্ষে মামলা করা প্রমাণিত কঠিন কাজ বলে মনে হচ্ছে, তবে আমি জানি যে প্রোগ্রামগুলি ডিজাইন ও বাস্তবায়নের সময় বিকাশকারী হিসাবে দৃ const় যথার্থতা আমার পক্ষে অত্যন্ত সহায়ক হয়েছিল এবং আমি মনে করি অভিজ্ঞতাটি এক্ষেত্রে সেরা শিক্ষক।