ধরুন আমার কাছে ইন্টারনেটের সাথে সংযোগ স্থাপন করার মতো কোডের একটি বিভাগ রয়েছে এবং এর মতো সংযোগের ফলাফলগুলি দেখানো:
HttpRequest* httpRequest=new HttpRequest();
httpRequest->setUrl("(some domain .com)");
httpRequest->setRequestType(HttpRequest::Type::POST);
httpRequest->setRequestData("(something like name=?&age=30&...)");
httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){
string responseString=response->getResponseDataString();
if(response->getErrorCode()!=200){
if(response->getErrorCode()==404){
Alert* alert=new Alert();
alert->setFontSize(30);
alert->setFontColor(255,255,255);
alert->setPosition(Screen.MIDDLE);
alert->show("Connection Error","Not Found");
}else if((some other different cases)){
(some other alert)
}else
Alert* alert=new Alert();
alert->setFontSize(30);
alert->setPosition(Screen.MIDDLE);
alert->setFontColor(255,255,255);
alert->show("Connection Error","unknown error");
}
}else{
(other handle methods depend on different URL)
}
}
কোডটি দীর্ঘ, এবং এটি সাধারণত ব্যবহৃত হয়, তবে উপরের কোডটির জন্য কাস্টম ফাংশন এবং শ্রেণি (এইচটিপিআরকোয়েস্ট এবং সতর্কতা উভয়ই ডিফল্টরূপে কাঠামোর দ্বারা সরবরাহ করা হয়) এর মতো কোনও অতিরিক্ত জিনিস প্রয়োজন হয় না, এবং যদিও কোড বিভাগটি দীর্ঘ, এটি সোজা এবং জটিল নয় (এটি দীর্ঘ কারণ শুধুমাত্র ইউআরএল, ফন্টের আকারের মতো সেটিংসের বান্ডিল রয়েছে ...), এবং কোড বিভাগে শ্রেণীর মধ্যে সামান্য তফাত রয়েছে (যেমন: url, অনুরোধ ডেটা, ত্রুটি কোড হ্যান্ডেল কেসগুলি, সাধারণ হ্যান্ডেল) মামলা ...)
আমার প্রশ্নটি হ'ল কোডের নির্ভরতা হ্রাস করার জন্য কোনও ফাংশনে আবদ্ধ করার পরিবর্তে দীর্ঘ কিন্তু সোজা কোডটি অনুলিপি করে পেস্ট করা কি গ্রহণযোগ্য?
Alert
কী অবজেক্টগুলিকে মুক্ত করে ?) এখন কল্পনা করুন আপনি বাগটি ঠিক করতে এই কোডটির প্রতিটি অনুলিপি পাওয়া উচিত find এখন কল্পনা করুন যে এটি করতে হবে তা আপনি নন, তবে একজন পাগল কুঠার খুনি যিনি জানেন যে আপনিই এই কপিগুলি প্রথম স্থানে তৈরি করেছিলেন।