GoDasturchi
Where Does It Belong?

Where Does It Belong?

Bu qayerga tegishli

Tizim allaqachon bo'laklarga ajratilgan bo'lsa ham, vaqt o'tishi bilan yangi talablar paydo bo'ladi. Muhim savol: yangi talab mavjud komponentga tegishlimi, yoki u yangi komponent talab qiladimi?

Rasm yuklash tizimingizga yangi talab qo'shildi deylik: "Yuklangan rasmlar avtomatik ravishda 200x200 o'lchamdagi thumbnail (kichik nusxa)ga ham aylantirilishi kerak." Bu qayerga tegishli?

  • Validator'gami? Yo'q — bu tekshirish emas, o'zgartirish (transformation).
  • Storage'gami? Ehtimol emas — Storage'ning ishi faqat saqlash, rasmni qayta ishlash emas.
  • Yangi komponent — ThumbnailGenerator? Ha, bu mustaqil, aniq bitta ishni qiladigan yangi mas'uliyat.

Bu qaror qabul qilish jarayoni — Spot the Tangled Responsibilities darsidagi mezonning teskarisi: u yerda siz mavjud, chalkash koddan mas'uliyatlarni ajratdingiz; bu yerda esa yangi mas'uliyatni mavjud komponentlarga noto'g'ri qo'shib yubormaslikni o'rganasiz. Agar yangi talabni mavjud komponentga qo'shsangiz-u, u komponentning nomi endi to'g'ri kelmay qolsa (Storage endi rasmlarni ham "o'zgartiradigan" bo'lib qolsa) — bu noto'g'ri joyga qo'yilganining aniq belgisi.

Yangi komponent qo'shish har doim "qo'shimcha murakkablik" degani emas — aksincha, ba'zida u tizimni soddalashtiradi, chunki har bir qism aniq, o'z chegarasida qoladi. Muhandislik hikmati — qachon yangi qism qo'shish va qachon mavjudiga biriktirish orasidagi muvozanatni his qilishda.

Key Takeaway

Key Takeaway:

Yangi talab kelganda, uni avval mavjud komponentlarning nomi/mas'uliyatiga solishtirib ko'ring. Agar u hech biriga aniq to'g'ri kelmasa, ehtimol yangi, alohida komponent kerak — mavjudiga zo'rma-zo'raki qo'shish o'rniga.

NEXT UP

The Scope Conversation

Where Does It Belong?

Bu qayerga tegishli

Tizim allaqachon bo'laklarga ajratilgan bo'lsa ham, vaqt o'tishi bilan yangi talablar paydo bo'ladi. Muhim savol: yangi talab mavjud komponentga tegishlimi, yoki u yangi komponent talab qiladimi?

Rasm yuklash tizimingizga yangi talab qo'shildi deylik: "Yuklangan rasmlar avtomatik ravishda 200x200 o'lchamdagi thumbnail (kichik nusxa)ga ham aylantirilishi kerak." Bu qayerga tegishli?

  • Validator'gami? Yo'q — bu tekshirish emas, o'zgartirish (transformation).
  • Storage'gami? Ehtimol emas — Storage'ning ishi faqat saqlash, rasmni qayta ishlash emas.
  • Yangi komponent — ThumbnailGenerator? Ha, bu mustaqil, aniq bitta ishni qiladigan yangi mas'uliyat.

Bu qaror qabul qilish jarayoni — Spot the Tangled Responsibilities darsidagi mezonning teskarisi: u yerda siz mavjud, chalkash koddan mas'uliyatlarni ajratdingiz; bu yerda esa yangi mas'uliyatni mavjud komponentlarga noto'g'ri qo'shib yubormaslikni o'rganasiz. Agar yangi talabni mavjud komponentga qo'shsangiz-u, u komponentning nomi endi to'g'ri kelmay qolsa (Storage endi rasmlarni ham "o'zgartiradigan" bo'lib qolsa) — bu noto'g'ri joyga qo'yilganining aniq belgisi.

Yangi komponent qo'shish har doim "qo'shimcha murakkablik" degani emas — aksincha, ba'zida u tizimni soddalashtiradi, chunki har bir qism aniq, o'z chegarasida qoladi. Muhandislik hikmati — qachon yangi qism qo'shish va qachon mavjudiga biriktirish orasidagi muvozanatni his qilishda.

Key Takeaway

Key Takeaway:

Yangi talab kelganda, uni avval mavjud komponentlarning nomi/mas'uliyatiga solishtirib ko'ring. Agar u hech biriga aniq to'g'ri kelmasa, ehtimol yangi, alohida komponent kerak — mavjudiga zo'rma-zo'raki qo'shish o'rniga.

NEXT UP

The Scope Conversation