Qachon refaktor qilish kerak?
Qachon refaktor qilish kerak?

Video: Qachon refaktor qilish kerak?

Video: Qachon refaktor qilish kerak?
Video: Codemod va avtomatik refaktor. JS parserlar va AST haqida 2024, Noyabr
Anonim

Martin Fauler uchta qoidani ta'riflaydi, bu esa tushuntiradi qachon refaktor qilish kerak , kitobida Refaktoring . Uning aytishicha, birinchi marta ishlab chiquvchilar qil nimadir, ular qilish kerak to'g'ridan-to'g'ri. Keyingi safar, agar ular qil shunga o'xshash narsa, ular mavjud kod qismini takrorlashi mumkin. Uchinchi marta, ular refaktor qilish kerak.

Buni qachon qayta ko'rib chiqmaslik kerak?

Hech qanday sinovsiz kod berilgan, mumkin refaktor uni ko'proq sinovdan o'tkazish uchun. Sen … qil refaktor emas Agar natijada olingan kodni o'z vaqtida sinovdan o'tkaza olmasangiz, uni qabul qiluvchi uchun qimmatli bo'ladigan kod. Sen … qil refaktor emas kod qachon sizning refaktoring bo'ladi emas kod sifatini yaxshilash.

Shuningdek, bilingki, refaktoring qachon agileda amalga oshirilishi kerak? Refaktoring Ikkinchi tamoyil: Biznes katalizatorlari Agar biznesga yangi xususiyat kerak bo'lsa, unda refaktoring kerak faqat bo'lsin bajarildi tizimning ushbu funksiyani yoqish uchun zarur bo'lgan qismlarida. Boshqacha qilib aytganda, qilmang refaktor butun foydalanuvchi interfeysi, faqat refaktor muayyan biznes so'roviga tegishli qismlar.

Yuqoridagilardan tashqari, qachon refaktoringni o'tkazish kerak?

Refaktoring kod tuzilishini o'zgartirmasdan o'zgartirish jarayonidir xulq-atvor . Bajarishi kerak foydalanilsin uchun xususiyatlarni qo'shishni osonlashtiradi. Natija yaxshiroq "hidli" kod bo'lgani uchun, ba'zida odamlar sarosimaga tushib, shunday deb o'ylashadi refaktoring yakun hisoblanadi uchun o'zi. I bu fikrga qo'shilmayman.

Qayta ishlashingizga nima sabab bo'ladi?

Asosiylaridan biri refaktoring sabablari bir nuqtada bu siz kod bir nechta kod yo'llari tomonidan ishlatilishini aniqlang va siz nusxa ko'chirishni (nusxalash va joylashtirish) emas, balki qayta ishlatishni xohlamang. Bu, ayniqsa, bo'lgan hollarda muhimdir siz ushbu kodda xato toping.

Tavsiya: