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