সম্প্রতি আমি চাচা ববের "ক্লিন কোড" এ আমার প্রশ্নের উত্তরের উত্তর পেয়েছি, যা আমি ভাগ করতে চাই। তিনি তিনটি সদৃশকে পৃথক করে
অভিন্ন কোডের টুকরা একক পদ্ধতিতে প্রতিস্থাপন করা উচিত। সুতরাং সমাধানটি পদ্ধতিটি বের করা এবং সাধারণ ব্যবহারের জন্য প্রেরণ করা হবে।
- একই পদ্ধতিতে, স্থানীয় ভেরিয়েবল এক্সট্রাক্ট করুন এবং এটি পুনরায় ব্যবহার করুন।
- একই ক্লাসে এক্সট্রাক্ট মেথড রিফ্যাক্টরিং করান।
- একই শ্রেণিবিন্যাস এক্সট্রাক্ট পদ্ধতির ক্লাসে এবং এটি টানুন। পদ্ধতিগুলির জন্য একটি জায়গা খুঁজে পেতে একটি শ্রেণিবিন্যাস তৈরি করা যেতে পারে।
- পৃথক শ্রেণিবিন্যাসের ক্লাসে নতুন বস্তুতে প্রতিনিধি ব্যবহার করে।
- যদি পদ্ধতিগুলিকে কোনও সংলগ্ন রাষ্ট্রের প্রয়োজন না হয়, তবে "লিব" প্যাটার্ন প্রয়োগ করা যেতে পারে (এটি স্ট্যাটিক পদ্ধতিগুলির একটি ধারক, সাধারণত
SthUtil
বা বলা হয় SthLib
)।
ক্ষেত্রে switch/case
এবং if/else
যে সবসময় অবস্থার একই সেট জন্য পরীক্ষার ।
- এগুলি পলিমারফিজম দিয়ে প্রতিস্থাপন করা উচিত।
মডিউলগুলি যা অনুরূপ অ্যালগোরিদম প্রয়োগ করে । এগুলি খুঁজে পাওয়া শক্ত, কারণ কোনও ক্লোন ডিটেক্টর তাদের এটির সন্ধান করতে পারে না।
- সুযোগটি বৃহত্তর হওয়ায় নকশার প্যাটারগুলি ব্যবহৃত হয়। টেমপ্লেট পদ্ধতি নকশার প্যাটার্নটি কোনও শ্রেণিবদ্ধের ভিতরে আলগোরিদিমগুলির জন্য প্রয়োগ করা যেতে পারে।
- কৌশল ডিজাইনের প্যাটার্নটি যে কোনও অ্যালগরিদমের জন্য প্রয়োগ করা যেতে পারে যা বিভিন্ন জায়গায় ব্যবহৃত হয়।
লাইব্রেরির বিভিন্ন সংস্করণ নিয়ে কাজ করার সময় ওবেদ দ্বারা বর্ণিত একটি বৈধ পয়েন্ট
- একক সংস্করণে একীভূত করুন। মুখোমুখি নকশা নিদর্শন এখানে সহায়তা করতে পারে।
শেষ পর্যন্ত আমার প্রশ্নের উত্তরের সেরা এক বাক্যটি উত্তেজিত করে:
ওও ভাষাগুলিতে কোড পুনরায় ব্যবহারের পদ্ধতিটি হ'ল অবজেক্ট।