O’zbekiston respublikasi axborot texnologiyalari va kommunikasiyalarini rivojlantirish vazirligi



Download 1,06 Mb.
bet44/141
Sana19.02.2023
Hajmi1,06 Mb.
#912980
1   ...   40   41   42   43   44   45   46   47   ...   141
Bog'liq
11 Kitob Dasturiy taminot qurilmasi va evolyutsiyasi 2022 oxirgi

Refactoring — bu mavjud kodlar majmuasini qayta tuzish, tashqi tuzilishini o’zgartirmasdan ichki tuzilishini o’zgartirish uchun ajoyib texnologiya. Bu funksiyalarni tranformatsiya (funksiyaning vazifasi o’zgarmaydi, balki bajarish



15 Фаулер M. Рефакторинг: улучшение существующего кода. - Пер. с англ. - СПб: Символ Плюс, 2003.
usuli o’zgaradi. Masalan, bank tranformatsiyasi deganda, bank qiladigan funksiyalar o’zgarmaydi, lekin uslub o’zgaradi) qilish va algoritmlarni qayta ko’rib chiqish orqali ichki kod tuzilishini yaxshilaydi. Bu takroriy jarayon. Refactoringa qamrov(scope)ni qisqartirish, murakkab ko’rsatmalarni oddiylashtirish va bir nechta bayonot(statement)larni bitta bayonotga birlashtirish kiradi. Kodni refactoring texnikasi orqali qayta ishlash, uni o’zgartirish, bajarish va yuklab olish jarayonini tezlashtiradi. Hosildorligini(productivity) oshirishni xohlaydigan dasturchilar uchun bu eng yaxshi amaliyotdir.
Martin Fauler refaktoring qilish uchun to’rtta asosiy sababini aytib o’tdi. Refactoring dasturiy ta’minot dizaynini yaxshilaydi, dasturiy ta’minotni tushunishni osonlashtiradi, xatolarni topishga yordam beradi va dasturni tezroq bajarilishiga yordam beradi. Refactoringning qo’shimcha foydasi bor. Refactoringsiz, dasturchi dastur haqida o’ylash tarzini o’zgartiradi. Refactoringning quyidagi 3 ta turi mavjud16:

    1. Kodni qayta ishlash: Bu dasturning manba kodini qayta ishlash.

    2. Ma’lumotlar bazasini qayta tuzish: bu ma’lumotlar bazasini o’zgartirish, bu uning axborot semantikasini saqlab, dizaynini yaxshilaydi.

    3. Foydalanuvchi interfeysi (UI)ni qayta tuzilish: bu foydalanuvchi interfeysi uchun oddiy o’zgarish bo’lib, uning semantikasini saqlab qoladi.

Refactoring bizga quyidagi qulayliklarni beradi: dasturiy ta’minotning dizaynini yaxshilaydi, dasturiy ta’minotni tushunishni osonlashtiradi, dasturiy ta’minot xatolarni topishda va tezroq dasturlashda yordam beradi. Dasturlashda juda foydali bo’lgan bir gap bor – «If it ain’t broken, don’t fix it» («Agar nimadir buzilmagan bo’lsa, uni sozlamang«).
Shunday holatlar bo’ladiki, dasturning ishlab turishiga asos bo’lgan kodni ko’rganingizda uni yaxshiroq usulda qayta yozgingiz keladi. Aslida esa dastur buzilmagan, qanday ishlashi kerak bo’lsa shunday ishlab turgan bo’ladi. Bunday holatda agar «ishlab turgan kodga tegmaslik» tamoyiliga amal qilsak, kodni o’z





16 Фаулер M. Рефакторинг: улучшение существующего кода. - Пер. с англ. - СПб: Символ Плюс, 2003.
holatida qoldirishimiz va ishlab turgan dasturni sozlashga urinmasligimiz kerak.
Foydasi: Agar ishlab turgan kodga tegmasak, ko’p vaqtimizni tejab qolgan bo’lamiz. Chunki dastur shu holatda ham ishlab turibdi, uning buzilmagan kodini sozlaganimizdan keyin ham ishlab turaveradi. Albatta, avvalgiga nisbatan optimalroq ishlay boshlashi mumkin. Ammo oldindan ko’rilmagan muammolar kelib chiqmasligini hisobga olsak, ishlab turgan kodga tegmaganimiz ma’qul.
Zarari: Yuqorida aytilganidek, dastur ishlab turganligiga qaramasdan uni yanada optimallashtirish mumkin. Dastur hozirgiga nisbatan yaxshiroq, yengilroq, samaraliroq ishlasa, buning nimasi yomon? Bundan tashqari kodi yaxshilangan dastur ustida keyinchalik boshqa dasturchilar ish olib borishsa, ularning kodga tushunishlari ancha osonlashishi mumkin.
Refactoring nima? Yuqorida yozilgan holatning aksi, ya’ni ishlab turgan dasturni sozlashga urinish, uning kodidagi kamchiliklarni tuzatish va optimallashtirish refactoringga misol bo’lishi mumkin. Refactoring bilan shug’ullanishni yaxshi ko’ruvchi dasturchilar boshqa dasturchilar hayotini osonlashtiradi. Refactor (qayta ishlab chiqish) – kodning o’qilishi, yengil ishlashi va har tomonlama ijobiy tomonga o’zgarishini ta’minlaydi.
Foydasi: Refactoringdan o’tgan dastur (odatda) avvalgiga nisbatan yaxshiroq ishlaydi. Shu jihati dasturdan foydalanuvchilarga sezilishi mumkin. Dasturchilar uchun esa refactoringdan o’tgan kod ancha oson o’qilishi, optimal usulda yozilganligi bilan ma’qul keladi.
Zarari: Ba’zan refactoringdan so’ng dastur avval qanday ishlagan bo’lsa shunday ishlayveradi. Uning ishida hech qanday optimallashish kuzatilmaydi. Vaziyat yomon tus olganda esa dasturda avval kuzatilmagan ba’zi muammolar ham paydo bo’lib qolishi mumkin. Bundan tashqari natijasi sezilmagan ish uchun dasturchi ancha vaqt sarflaydi. Shu jihatlarini hisobga olsak, refactoring dasturchi uchun vaqtni behuda o’tkazishdek bo’lib ko’rinadi.
Siz dasturchi sifatida qaysi yo’lni tanlashingiz faqat o’zingizga bog’liq. Menimcha, aynan yuqorida berilgan fikrlarga aloqador holatda dasturchining qaysi usulda ish yuritishi uning odatiy hayotdagi xarakteriga bog’liq. Bo’sh vaqtingiz ko’p
bo’lsa, boshqa kerakliroq ish Sizni kutib turmagan bo’lsa refactoring bilan shug’ullanishingiz mumkin. Tig’iz vaqt rejimida ishlayotgan dasturchilar esa odatda ishlab turgan kodni zaruratsiz o’zgartirishmaydi.
Refaktoring yoki kodni qayta loyihalash va konstruktsiyalsh, kodni qayta ishlash, algoritmlarning o’zgarishi bilan ekvivalent - dasturning tashqi xatti- harakatlariga ta’sir qilmaydigan va uning ishini tushunishni osonlashtirishga qaratilgan ichki strukturasini o’zgartirish jarayoni. Refaktoring bir qator kichik, ekvivalent (ya’ni xatti-harakatni saqlaydigan) o’zgarishlarga asoslanadi. Har bir o’zgarish kichik bo’lganligi sababli, dasturchi uchun uning to’g’riligini kuzatish osonroq bo’ladi va shu bilan birga, butun ketma-ketlik dasturni sezilarli darajada qayta konstrutsiyalashga olib kelishi va uning izchilligi va ravshanligini oshirishi mumkin.
Refaktoring – bu dasturning tashqi xulq-atvoriga ta’sir qilmasdan ichki strukturasini o’zgartirish jarayonidir. Bunda asosiy maqsadlardan biri dastur ishini tushunishni osonlashtirishdir. Dastur konstruktsiyasiga oson kuzatib borish imkonini beruvchi kichik o’zgarishlar qilinadi. Refaktoring zarurligining sabablari:

  • Dastur kodining takrorlanishi;

  • Uzun usul;

  • Katta sinf;

  • Parametrlarning uzun ro’yhati;

  • Boshqa obyekt ma’lumotlariga tez-tez murojaat qiluvchi metodlar;

  • Ortiqcha vaqtinchalik o’zgaruvchilar;

  • Ma’lumotlar sinflari;

  • Guruhlanmagan ma’lumotlar.

Dasturiy ta’minot reinjiniringi - bu ishlayotgan dasturiy ta’minotdan foydalanib, yangi funksionallikni yaratish yoki katta o’zgarishlar orqali xatolarni yo’q qilish jarayoni. Chikovski va Kross 1990 yilgi maqolalarida reinjiniring jarayonini “Tizimni yangi shaklda qayta tiklash uchun tekshirish va o’zgartirish” deb ta’riflab berishgan. Kamroq rasmiy ravishda aytganda, reinjiniring - bu dasturiy inginiring jarayonidan so’ng teskari ravishda dasturiy ta’minot tizimini o’zgarishdir.

Download 1,06 Mb.

Do'stlaringiz bilan baham:
1   ...   40   41   42   43   44   45   46   47   ...   141




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish