𝗖𝗼𝗱𝗲 𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝘃𝘀. 𝗪𝗿𝗼𝗻𝗴 𝗔𝗯𝘀𝘁𝗿𝗮𝗰𝘁𝗶𝗼𝗻𝘀
ডেভেলপাররা প্রায়শই একটি পছন্দের ক্ষেত্রে দ্বিধায় পড়ে যান।
আপনাকে 'Don't Repeat Yourself' নীতি অথবা কিছুটা কোড ডুপ্লিকেশন করার মধ্যে একটি বেছে নিতে হবে।
DRY হলো সফটওয়্যার ডিজাইনের একটি মূল নিয়ম। কিন্তু এটি কঠোরভাবে অনুসরণ করতে গিয়ে আপনি নতুন সমস্যার সৃষ্টি করতে পারেন। আপনি একটি ভুল অ্যাবস্ট্রাকশন তৈরি করেন।
একটি ভুল অ্যাবস্ট্রাকশনের খরচ ডুপ্লিকেট কোডের চেয়ে অনেক বেশি।
আমরা মার্জিত (elegant) কোড লিখতে চাই। আমরা পুনরায় ব্যবহারযোগ্য (reusable) লজিক তৈরি করতে চাই। আমরা চাই একটি জায়গায় বাগ (bug) ফিক্স করলে তা সব জায়গায় ঠিক হয়ে যাক। এই লক্ষ্যটি সঠিক বলে মনে হয়।
কিন্তু সময়ের আগেই অ্যাবস্ট্রাকশন তৈরি করা প্রজেক্টের গতি কমিয়ে দেয়। এটি আপনার কোড রক্ষণাবেক্ষণ করার সহজলভ্যতা নষ্ট করে দেয়।
আপনি যখন খুব দ্রুত অ্যাবস্ট্রাকশন তৈরি করেন, তখন আপনি এই সমস্যাগুলোর সম্মুখীন হন:
- জটিলতা বৃদ্ধি। খারাপ অ্যাবস্ট্রাকশন বিভ্রান্তির স্তর যোগ করে।
- অনমনীয় (Rigid) কোড। অন্য অংশগুলো নষ্ট না করে একটি অংশ পরিবর্তন করা কঠিন হয়ে পড়ে।
- লুকানো লজিক। কোড লেখার চেয়ে সেটি ট্রেস (trace) করতেই আপনার বেশি সময় ব্যয় হয়।
মাঝে মাঝে, ডুপ্লিকেশন করা একটি বাস্তবসম্মত (pragmatic) সিদ্ধান্ত। এটি আপনার কোডকে সহজ এবং পরিষ্কার রাখে। এটি আপনাকে আপনার সিস্টেমের বিভিন্ন অংশ স্বাধীনভাবে পরিবর্তন করার সুযোগ দেয়।
যে সমস্যাটি আপনি এখনও পুরোপুরি বোঝেননি, তার জন্য একটি জেনেরিক (generic) সমাধান তৈরি করবেন না। প্যাটার্নটি স্পষ্ট না হওয়া পর্যন্ত অপেক্ষা করুন।