Misalkan saya memiliki segmen kode untuk terhubung ke internet dan menunjukkan hasil koneksi seperti itu:
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)
}
}
kode panjang, dan umumnya digunakan, tetapi kode di atas tidak memerlukan hal-hal tambahan seperti fungsi kustom dan kelas (HttpRequest dan Alert keduanya disediakan oleh kerangka kerja secara default), dan meskipun segmen kode panjang, itu adalah lugas dan tidak kompleks (panjang hanya karena ada bundel pengaturan seperti url, ukuran font ...), dan segmen kode memiliki sedikit variasi di antara kelas (misalnya: url, data permintaan, kasus kode penanganan kasus, pegangan normal kasing ...)
Pertanyaan saya adalah, apakah dapat menyalin dan menempelkan kode yang panjang tapi langsung daripada membungkusnya dalam suatu fungsi untuk mengurangi ketergantungan kode?
Alert
objek?) Sekarang bayangkan Anda harus menemukan setiap instance kode ini untuk memperbaiki bug. Sekarang bayangkan bukan Anda yang harus melakukannya, tetapi pembunuh kapak gila yang tahu Anda adalah orang yang membuat semua salinan ini di tempat pertama.