আমি আপনাকে লেজার এসএমবি রিফ্যাক্টরিং করার অভিজ্ঞতা দেব। আমরা প্রথমে কিছু আলাদাভাবে সিদ্ধান্ত নেওয়ার সিদ্ধান্ত নিয়েছি এবং এখনও আপনি যা বর্ণনা করছেন ঠিক তেমনই করছি তবে প্রচুর আঠালো পদ্ধতি ছাড়াই (আমাদের কয়েকটি আঠার পদ্ধতি রয়েছে বিটিডব্লিউ, কেবলমাত্র খুব বেশি নয়)।
দুটি কোডবেস সহ জীবন
লেজারএসএমবি প্রায় 5 বছর ধরে দুটি কোডবেস নিয়ে বেঁচে আছে এবং পুরাতন কোডবেসটি নির্মূল করার আগে এটি আরও বেশ কয়েকটি হবে। পুরানো কোডবেসটি দেখতে সত্যই এক ভৌতিক ঘটনা। খারাপ ডিবি ডিজাইন, পার্ল IS->some_func(\%$some_object);
কোডের মতোই নির্মাণ করে যা দেখায় যে স্প্যাগেটি রূপকটি কখনও কখনও কেন ব্যবহৃত হয় (মডিউল এবং পিছনে এবং কোনও ছড়া বা কারণ ছাড়াই ভাষাগুলির মধ্যে রূপদানের পথ)। নতুন কোডবেস ডিবি ক্যোয়ারিকে সঞ্চিত পদ্ধতিতে সরিয়ে, অনুরোধ পরিচালনার জন্য একটি ক্লিনার কাঠামো রেখে এবং আরও অনেক কিছু এড়িয়ে চলে।
আমরা প্রথমে যেটি সিদ্ধান্ত নেওয়ার সিদ্ধান্ত নিয়েছি সেটি হল মডিউল দ্বারা অশোধক মডিউল চেষ্টা করা। এর অর্থ একটি নির্দিষ্ট ক্ষেত্রের সমস্ত কার্যকারিতা একটি নতুন মডিউলে স্থানান্তরিত করা এবং তারপরে পুরানো কোডটিকে নতুন মডিউলে হুক করা। নতুন এপিআই যদি পরিষ্কার থাকে তবে এটি কোনও বড় বিষয় নয়। যদি নতুন এপিআই জিনিসগুলি লোমশ হয়ে না থাকে এবং এটি নতুন এপিআইতে আরও কঠোর পরিশ্রম করার একটি আমন্ত্রণ ....
দ্বিতীয় জিনিসটি হ'ল প্রচুর সময় আসে যখন নতুন কোডটিতে পুরানো কোডে লজিক অ্যাক্সেস করতে হয়। এটি সম্ভব পরিমাণে এড়াতে হবে কারণ এটি আঠালো পদ্ধতিগুলির দিকে পরিচালিত করে যা কুৎসিত তবে এটি সর্বদা এড়াতে পারে না। এই ক্ষেত্রে আঠালো পদ্ধতিগুলি সম্ভব পরিমাণে হ্রাস করা উচিত এবং এড়ানো উচিত তবে প্রয়োজনে ব্যবহার করা উচিত।
এই কাজটি করতে আপনাকে একটি নির্দিষ্ট অঞ্চলে সমস্ত কার্যকারিতা পুনরায় লেখার প্রতিশ্রুতিবদ্ধ হতে হবে । আপনি যদি উদাহরণস্বরূপ, সমস্ত গ্রাহকের তথ্য ট্র্যাকিং কোডটি একবারে আবার লিখতে পারেন তবে এর অর্থ হল যে কোডটি পুরান কোড থেকে এটি কল করে কাজ করা কঠিন নয় এবং নতুন কোড থেকে পুরানো কোড প্রেরণকে হ্রাস করা হয়েছে।
দ্বিতীয় জিনিসটি হ'ল যদি আপনার জায়গায় যুক্তিসঙ্গত বিমূর্ততা থাকে, তবে আপনার এপিআইয়ের কোন স্তরের কল করতে হবে এবং কীভাবে পরিষ্কার রাখতে হবে তা বেছে নেওয়া উচিত। তবে আপনার যে অংশগুলিকে আপনার এপিআই কল করছে সেগুলি পুনরায় লেখার বিষয়ে আপনার ভাবা উচিত যাতে তারা বেশ খানিকটা ক্লিনারও হয়।
ব্যবসায়ের সরঞ্জামগুলির অনেকগুলি ক্ষেত্র যা অদম্য জটিল। আপনি সমস্ত জটিলতা থেকে মুক্তি পেতে পারবেন না। তবে আপনি ক্লিন এপিআই এর উপর নির্ভর করে যা আপনাকে বিশেষভাবে যা করা দরকার এবং মডিউলগুলি যা সেই এপিআইটি গঠনমূলকভাবে ব্যবহার করে তার উপর মনোনিবেশ করে এটি পরিচালনা করতে পারেন। বাকি কলিং কোডটি পুনরায় লেখার কাজ দ্রুততর হতে পারে তা বিবেচনা করার পরেই আঠার একটি শেষ অবলম্বন হওয়া উচিত।