|
|
bet | 42/136 | Sana | 18.02.2023 | Hajmi | 0,93 Mb. | | #912444 |
| Bog'liq 11-kitap perevod
Refactoring — bul ámeldegi kodlar kompleksin qayta dúziw, sırtqı dúzilisin o'zgertirmesten ishki dúzilisin o'zgertiw ushın ájayıp texnologiya. Bul funksiyalardı tranformatsiya (funksiyanıń wazıypası o'zgermeydi, bálki orınlaw usılı o'zgeredi. Mısalı, bank tranformatsiyasi degende, bank etetuǵın funksiyalar o'zgermeydi, lekin usıl o'zgeredi) qılıw hám algoritmlardı qayta ko'rip shıǵıw arqalı ishki kod dúzilisin jaqsılaydı. Bul qayta process. Refactoringa qamrov (scope) ni kemeytiw, quramalı ko'rsetpelerdi ápiwayılastırıw hám bir neshe bayanat (statement) larni bir bayanatqa birlestiriw kiredi. Kodtı refactoring texnikası arqalı qayta islew, onı o'zgertiw, orınlaw hám júklep alıw procesin tezlestiredi. Zúráátliligin (productivity) asırıwdı qáleytuǵın programmistler ushın bul eń jaqsı ámeliyat bolıp tabıladı.
Martin Fauler refaktoring qılıw ushın tórtew tiykarǵı sebebin aytıp o'tti. Refactoring programmalıq támiynat dizaynini jaqsılaydı, programmalıq támiynattı túsiniwdi ańsatlashtiradi, qátelerdi tabıwǵa járdem beredi hám programmanı tezirek atqarılıwına járdem beredi. Refactoringning qosımsha paydası bar. Refactoringsiz, programmist programma haqqında oylaw tárizin o'zgertiredi. Refactoringning to'mendegi 3 túri bar16 :
1. Kodtı qayta islew: Bul programmanıń derek kodın qayta islew.
2. Maǵlıwmatlar bazasini qayta tuzish: bu maǵlıwmatlar bazasini o'zgertiw, bul onıń informaciya semantikasini saqlap, dizaynini jaqsılaydı.
3. Paydalanıwshı interfeysi (UI) ni qayta dúzılıw : bul paydalanıwshı interfeysi ushın ápiwayı o'zgeris bolıp, onıń semantikasini saqlap qaladı.
Refactoring bizge to'mendegi qolaylıqlardı beredi: programmalıq támiynattıń dizaynini jaqsılaydı, programmalıq támiynattı túsiniwdi ańsatlashtiradi, programmalıq támiynat qátelerdi tabıwda hám tezirek programmalastırıwda járdem beredi. Programmalastırıwda júdá paydalı bolǵan bir gáp bar - «If ıyt ain't broken, don't fix it» («Eger qandayda bir buzilmagan bolsa, onı sazlamang«).
Sanday jaǵdaylar baladıki, programmanıń islep turıwına tiykar bolǵan kodtı ko'rgenińizde onı jaqsılaw usılda qayta jazǵıńız keledi. Tiykarınan bolsa programma buzilmagan, qanday islewi kerek bolsa sanday islep turǵan baladı. Bunday jaǵdayda eger «ishlab turǵan kodqa tiymew» principine ámel qilsak, kodtı óz jaǵdayında qaldırishimiz hám islep turǵan programmanı sazlawǵa urınbasligimiz kerek.
Paydası : Eger islep turǵan kodqa tegmasak, kóp waqıtımizni tejab qalǵan bo'lemiz. Sebebi programma sal jaǵdayda de islep turıptı, onıń buzilmagan kodın sazlaganimizdan keyin de islep turaveradi. Álbette, aldınǵına salıstırǵanda optimallaw isley baslawı múmkin. Biraq aldınan ko'rilmegen máseleler kelip chiqmasligini esapqa alsaq, islep turǵan kodqa tegmaganimiz maqul.
Záleli: Joqarıda aytılǵanı sıyaqlı, programma islep turǵanlıǵına qaramastan onı jáne de optimallastırıw múmkin. Programma házirgine salıstırǵanda jaqsılaw, jeńillew, natiyjelilew islese, bunıń nesi jaman? Bunnan tısqarı kodı jaqsılanǵan programma ústinde keyinirek basqa programmistler jumıs aparıwsa, alardıń kodqa túsiniwleri ádewir ańsatlashishi múmkin.
Refactoring ne? Joqarıda jazılǵan jaǵdaydıń hákisi, yaǵnıy islep turǵan programmanı sazlawǵa urınıw, onıń kodındaǵı kemshiliklerdi ońlaw hám optimallastırıw refactoringga mısal bolıwı múmkin. Refactoring benen shuǵıllanıwdı jaqsı ko'ruvchi programmistler basqa programmistler o'mirin ańsatlashtiradi. Refactor (qayta islep shıǵıw ) - koddıń o'qilishi, jeńil islewi hám hár tárepleme unamlı tárepke o'zgeriwin támiyinleydi.
Paydası : Refactoringdan o'tken programma (ádetde) aldınǵına salıstırǵanda jaqsılaw isleydi. Sal tárepi programmadan paydalanıwshılarǵa sezilishi múmkin. Programmistler ushın bolsa refactoringdan o'tken kod ádewir ańsat o'qilishi, optimal usılda jazılǵanlıǵı menen maqul keledi.
Záleli: Geyde refactoringdan keyin programma aldın qanday islegen bolsa sanday isleyveradi. Onıń jumısında hesh qanday optimallasıw baqlanbaydı.jaǵday jaman tús alǵanda bolsa programmada aldın gúzetilmegen birpara máseleler de payda bolıp qalıwı múmkin. Bunnan tısqarı nátiyjesi sezilmagan jumıs ushın programmist ádewir waqıt sarplaydı. Sal táreplerin esapqa alsaq, refactoring programmist ushın waqtın paydasız o'tkeriw sıyaqlı bolıp ko'rinedi.
Siz programmist retinde qaysı joldı tańlawıńız tek ózińizge baylanıslı. Menimcha, áyne joqarıda berilgen pikirlerge baylanıslı jaǵdayda programmisttiń qaysı usılda jumıs júrgiziwi onıń ádetiy turmıs daǵı xarakterine baylanıslı. Bas waqıtıńız kóp bolsa, basqa kereklilew jumıs Sizdi kútip túrmegen bolsa refactoring benen shuǵıllanıwıńız múmkin. Tig'iz waqıt rejiminde islep atirǵan programmistler bolsa ádetde islep turǵan kodtı zárúratsiz o'zgertiwmeydi.
Refaktoring yamasa kodtı qayta proektlestiriw hám konstruktsiyalsh, kodtı qayta islew, algoritmlardıń o'zgeriwi menen ekvivalent - programmanıń sırtqı xatti- háreketlerine tásir etpeytuǵın jáne onıń jumısın túsiniwdi ańsatlastırıwǵa qaratılǵan ishki strukturasın o'zgertiw procesi. Refaktoring bir Katar kisi, ekvivalent (yaǵnıy minez-qulıqtı saqlaytuǵın ) o'zgerislerge tiykarlanadı. Hár bir o'zgeris kisi bolǵanlıǵı sebepli, programmist ushın onıń tuwrılıǵın baqlaw ańsatlaw baladı hám usınıń menen birge, pútkil izbe-ızlıq programmanı sezilerli dárejede qayta konstrutsiyalashga alıp keliwi jáne onıń izbe-izligi hám ayqınlıǵın asırıwı múmkin.
Refaktoring - bul programmanıń sırtqı turpayına tásir etpesten ishki strukturasın o'zgertiw procesi bolıp tabıladı. Bunda tiykarǵı maqsetlerden biri programma jumısın túsiniwdi ańsatlastırıw bolıp tabıladı. Programma konstruktsiyasiga ańsat gúzetip barıw imkaniyatın beretuǵın kisi o'zgerisler etiledi. Refaktoring zárúr ekenliginiń sebepleri:
- Programma kodınıń tákirarlanıwı ;
- Uzın usıl ;
- Úlken klass;
- Parametrlerdiń uzın kestesi;
- Basqa obekt maǵlıwmatlarına tez-tez shaqırıq etiwshi metodlar ;
- Artıqsha waqtınshalıq o'zgeriwshiler;
- Maǵlıwmatlar klassları ;
- Gruppalanbaǵan maǵlıwmatlar.
Programmalıq támiynat reinjiniringi - bul islep atirǵan programmalıq támiynattan paydalanıp, jańa funksionallıqtı jaratıw yamasa úlken o'zgerisler arqalı qátelerdi joq etiw procesi. Chikovski hám Kross 1990 yilgi maqalalarında reinjiniring procesin “Sistemanı jańa formada qayta qayta tiklew ushın tekseriw hám o'zgertiw” dep tariyplab beriwgen. Kemrek rásmiy túrde aytqanda, reinjiniring - bul programmalıq inginiring processinden keyin teris túrde programmalıq támiynat sistemasın o'zgeriw bolıp tabıladı.
Do'stlaringiz bilan baham: |
|
|