MUSTAQIL ISH Large(katta) sinf nima?
Katta sinf birdan ortiq masʼuliyatga ega boʻlgan sinfdir. Ko'pincha, mahsulotni ishlab chiqishda mavjud xususiyatlarni biroz o'zgartirishimiz mumkin va ishlab chiquvchilar mavjud sinflarda yangi kodni qo'shadilar.
Biroz vaqt o'tgach, darslar katta bo'ladi. Bu eng kam harakat qonuni bilan sinxron ravishda sodir bo'ladi. Oddiyroq qilib aytganda, shunga o'xshash variantlar o'rtasida qaror qabul qilish haqida gap ketganda, odamlar tabiiy ravishda hech qanday harakat talab qilinmaydigan variantga qarab harakat qiladilar. Axir, ularga ozgina kod qo'shilishi kerak va ehtimol o'sha paytda juda zararsiz ko'rinadigan yana bir nechta usullar.
Bularning barchasi bir kechada sodir bo'lmaydi. Bu jadal jarayon va katta sinfning ta'rifi Yagona mas'uliyat printsipi kabi nebul bo'lgani kabi boshqarish ham shunga o'xshash qiyin.
Katta sinflar deb ataladigan muammo nima?
Xo'sh, agar sinfda ko'plab usullar (shu sababli ko'plab vazifalar) va a'zo o'zgaruvchilari bo'lsa, muayyan usul yoki o'zgaruvchini o'zgartirish ta'sirini tushunish murakkablashadi. Ba'zan, bu dasturchini bezovta qiladi, ayniqsa kerakli o'zgarishlar ko'proq invaziv bo'lganda va to'g'ri tushuncha talab qilganda. Buning ustiga, bu katta sinflarni sinab ko'rish o'z-o'zidan qiyin.
Qanday qilib katta sinfga olib bormaslik kerak?
"Oldini olish davolashdan yaxshiroqdir" deganimizdek, Maykl C. Feathers tomonidan "Legacy Code" kitobida asosan tasvirlangan ikkita usul mavjud va ular quyidagilar:
O'sma usuli:Agar siz tizimga butunlay yangi kod sifatida shakllantirilishi mumkin bo'lgan xususiyatni qo'shgan bo'lsangiz, kodni yana bir bor yozish uchun og'riqni oling. Yangi funktsiya bo'lishi kerak bo'lgan joylardan chaqiring. Sinov jabduqida o'sha sinfning ob'ektlarini osongina yaratishingiz mumkin deb hisoblasangiz, yangi kod uchun testlarni yozishingiz mumkin. Ushbu usul yangi kod mavjud sinf uchun qo'shimcha mas'uliyat bo'lmasa ishlaydi.