Back home

পুরানো কোড আধুনিকীকরণের জন্য প্রথমে প্রত্নতত্ত্ব প্রয়োজন

পুরানো প্রকল্পগুলিতে AI স্থাপন করার আগে, যুগের স্তরটি আলাদা করুন, স্তর তৈরি করুন এবং স্তরটি পরীক্ষা করুন

পুরানো কোড আধুনিকীকরণের জন্য প্রথমে প্রত্নতত্ত্ব প্রয়োজন

পুরানো কোড সম্পর্কে সবচেয়ে কঠিন জিনিসটি কখনই পুরানো সিনট্যাক্স নয়, তবে পুরানো সময়। একটি প্রকল্প build.xml, পুরানো JDK, পুরানো টেস্টিং ফ্রেমওয়ার্ক এবং পুরানো প্যাকেজিং পদ্ধতিতে পূর্ণ। পৃষ্ঠে, এটি ফাইলের বেশ কয়েকটি স্তূপের মতো দেখায়, তবে এটি আসলে একে অপরের উপরে স্তুপীকৃত ঐতিহাসিক অনুমানের স্তর। কোড নিজেই শুধুমাত্র বাইরের স্তর. কি সত্যিই ডেলিভারি ব্লক করে প্রায়ই এই অনুমানগুলি এখনও আছে কিনা, সেগুলি পুনরুত্পাদন করা যায় কিনা এবং পরিবর্তনের পরে পুরানো আচরণ হারিয়ে যাবে কিনা।

এই কারণেই “প্রত্নতত্ত্ব” “রূপান্তর” এর আগে। প্রথমে বিল্ড ফাইল দেখুন, তারপর নির্ভরতা, তারপর চলমান পরিবেশ, তারপর পরীক্ষাগুলি। আদেশ বিপরীত করা যাবে না. build.xml এখনও আছে, কিন্তু pom.xml বিদ্যমান নেই। এই ধরনের সংকেত ইঙ্গিত করার জন্য যথেষ্ট যে প্রকল্পটি পিঁপড়া যুগে বাস করছে; কোডটি কম্পাইল করা যায় কিনা, পরীক্ষা চালানো যায় কিনা এবং পণ্যটি পুনর্নির্মাণ করা যায় কিনা তা প্রথম প্রমাণ। এখানে মডেলের সবচেয়ে দরকারী অংশটি পুরানো কোডের জন্য অবিলম্বে নতুন কোড লেখা নয়, কিন্তু টুকরো টুকরো থেকে এই প্রমাণগুলি সনাক্ত করা।

পরিবেশও প্রথমে পিন করতে হবে। পুরানো কোড প্রায়ই পুরানো JVM, পুরানো পাত্রে এবং পুরানো স্থাপত্য অনুমানের সাথে আসে। এটিকে আজকের মেশিনে সরাসরি নিক্ষেপ করুন, বিশেষ করে ক্রস-আর্কিটেকচার পরিবেশে, এবং সমস্যা দেখা দিলে এটি নতুন শব্দে মিশ্রিত করা সহজ: কোডটি কি অন্তর্নিহিতভাবে ভেঙে গেছে, নাকি এটি ইমুলেশন, মিররিং এবং টুল চেইন সমস্যা সৃষ্টি করছে? আপনি যদি এই পর্যায়ে “একই কোড স্থিরভাবে একই পরিবেশে পুনরুত্পাদন করা যেতে পারে” অর্জন করতে না পারেন, তবে পরবর্তী সমস্ত আধুনিকীকরণ কর্মগুলি কেবল অনুমান করা হবে।

এই ধাপে AI-এর মান স্পষ্ট: এটি চরিত্র-স্তর এবং কাঠামো-স্তরের অনুবাদে সাহায্য করতে পারে। পিঁপড়াকে গ্রেডলে রূপান্তর করা, পুরানো বিল্ড স্ক্রিপ্টগুলিকে এখন রক্ষণাবেক্ষণযোগ্য ফর্মে রূপান্তর করা, পুনরাবৃত্তিমূলক XML এবং বয়লারপ্লেটের একটি গুচ্ছকে একটি পরিষ্কার অবস্থানে নিয়ে যাওয়া সমস্ত জিনিস যা মডেলগুলিতে যাওয়ার জন্য ভাল প্রার্থী। এটি দ্রুত, বারবার চেষ্টা করতে ইচ্ছুক, এবং খুব তুচ্ছ নয়। কিন্তু তা রেফারির জন্য উপযুক্ত নয়। কোন সতর্কতাগুলি প্রথমে রাখা যেতে পারে, কোন পরীক্ষাগুলি আসলে মিথ্যা, কোন মডিউলগুলি প্রথমে কেটে দেওয়া উচিত এবং কোন ক্লাসগুলি শুধুমাত্র প্যাকেজ করা এবং মানিয়ে নেওয়া উচিত। শেষ পর্যন্ত, এটি এখনও জনগণকে সিদ্ধান্ত নিতে হবে।

পরীক্ষা মানুষকে বোকা বানানোর সবচেয়ে সহজ উপায়। পুরানো প্রকল্পে পরীক্ষায় উত্তীর্ণ হওয়ার অর্থ এই নয় যে সিস্টেমটি বোঝা যায়, এর অর্থ কেবলমাত্র কিছু পুরানো আচরণ বর্তমান পরিবেশে মোড়ানো হয়। “সমস্ত সবুজ” অনুভূতি বিপজ্জনক কারণ এটি প্রায়শই একটি বড় সমস্যাকে মুখোশ দেয়: পরীক্ষাটি যা যাচাই করে তা হল একটি নির্দিষ্ট যুগের বাস্তবায়নের বিশদ, ব্যবসার শব্দার্থবিদ্যা নয় যেগুলি এখন সংরক্ষণ করা দরকার। আপনি যদি সত্যিই সংস্কার করতে চান, তাহলে প্রথম জিনিসটি এই পরীক্ষাগুলিকে “নিরাপত্তার আলংকারিক অনুভূতি” থেকে বের করে নেওয়া এবং তারা কী সুরক্ষা করছে তা পুনরায় বিচার করা।

অতএব, এই ধরনের প্রজেক্টের জন্য সবচেয়ে স্থিতিশীল উপায় সাধারণত এটিকে একবারে পুনরায় লেখা নয়, তবে প্রথমে পুরানো পরিবেশ, পুরানো আচরণ এবং পুরানো নির্ভরতাগুলি ঠিক করার জন্য একটি টাইম ক্যাপসুল তৈরি করা এবং তারপরে এটিকে সরু ফাটল বরাবর সরিয়ে ফেলা। প্রথমে সিস্টেমটিকে পুনরুত্পাদনযোগ্য করুন, তারপরে অনুবাদের জন্য পুনরাবৃত্তিমূলক কাজটি এআই-এর কাছে হস্তান্তর করুন এবং তারপরে স্তরে স্তরে সীমানা স্তরটি খোসা ছাড়ুন। অর্ডারের বাইরে থাকলে, মডেলটি পুরানো প্রকল্পটিকে ত্বরান্বিত করবে এবং এটিকে গভীর বিশৃঙ্খলার মধ্যে ঠেলে দেবে; যদি আদেশটি সঠিক হয়, তাহলে মডেলটি সত্যিকারের দরকারী প্রত্নতাত্ত্বিক সহকারীর মতো হবে, ইট সরানোর জন্য, ধুলো পরিষ্কার করার জন্য এবং প্রমাণের তুলনা করার জন্য, নোংরা কাজ থেকে মানুষকে মুক্ত করতে এবং তাদের হাতে বিচার ছেড়ে দেওয়ার জন্য দায়ী।

FAQ

What to read next

Related

Continue reading

后端 · 2 tags

এজেন্ট ইঞ্জিনিয়ারিং প্রথমে প্রসঙ্গ এবং সেন্সরকে শক্ত করে

ফ্র্যাগমেন্টস থেকে: 13 জুলাই, আমরা যা দেখি তা নতুন মডেলের ক্ষমতা নয়, তবে প্রথমে প্রতিদিনের ইঞ্জিনিয়ারিংয়ে প্রবেশ করা।