Obyektga yo’naltirilgan dasturlash (OOP) — bu dastur ishlab chiqish yondashuvi bo’lib, unda kod obyektlar shaklida tashkil etiladi
Encapsulatsiya
Encapsulatsiya — bu ma’lumotlar va ular bilan ishlovchi metodlarni bir sinf ichida birlashtirish va obyektning ichki holatiga to’g’ridan-to’g’ri kirishni cheklash.
Oddiy so’zlar bilan: obyekt o’z ma’lumotlarini o’zi boshqaradi, tashqi kod esa metodlar orqali unga ta’sir qiladi.
Abstraktsiya
Abstraktsiya — bu obyektning faqat muhim xususiyatlarini ajratib olish va uning amalga oshirish tafsilotlarini yashirish.
Oddiy so’zlar bilan: foydalanuvchi obyekt nima qilayotganiga qiziqadi, qanday qilishiga emas.
Polimorfizm
Polimorfizm — bu turli amalga oshirishga ega obyektlarning bir xil interfeysdan foydalanish imkoniyatidir. Testlarda bu umumiy kod yozishga yordam beradi, u turli ma’lumot turlari yoki sinflar bilan ishlaydi.
Python misoli:
class Animal:
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Hov!"
class Cat(Animal):
def make_sound(self):
return "Miyov!"
def animal_sound(animal: Animal):
print(animal.make_sound())
dog = Dog()
cat = Cat()
animal_sound(dog) # Hov!
animal_sound(cat) # Miyov!
Avtomatlashtirilgan testlarda, polimorfizm quyidagilar uchun foydalidir:
- Umumiy tekshirish metodlarini yaratish
- Bir interfeys orqali turli test strategiyalarini amalga oshirish
- API/UI ning turli versiyalarini qo’llab-quvvatlash, testlarni o’zgartirmasdan
Meros
Meros — bu yangi sinf mavjud sinfdan avtomatik ravishda foydalanishga imkon beradigan mexanizm.
Oddiy so’zlar bilan: yangi sinf ota sinf kodini qayta ishlatadi va kerak bo’lsa kengaytiradi.
Git
1. Versiya nazorati tizimlari. Mahalliy, markazlashtirilgan, tarqatilgan.
2. Asosiy tushunchalar. Repozitoriya, indeks, commit, ko’rsatkichlar, filial, ish nusxasi.
3. Repozitoriya bilan ishlash. Buyruqlar: init, clone, status
4. Commit yaratish. Buyruqlar: add, commit.
5. Filial yaratish, ko’rish, o’zgartirish, o’chirish. Buyruqlar: branch, checkout, log, diff.
6. O’zgarishlarni bekor qilish. Buyruqlar: restore, rm, checkout, revert.
7. Filiallar o’rtasida o’zgarishlarni birlashtirish. Buyruqlar: merge, cherry-pick, rebase.
8. Uzoqdagi repozitoriy bilan ishlash. Buyruqlar: fetch, pull, push.
9. GitHub bilan ishlash, forklar va Pull Requests.