|
Kompyuter injiniring ” fakulteti Kompyuter injiniring
|
bet | 26/27 | Sana | 09.01.2024 | Hajmi | 1,34 Mb. | | #132841 |
Bog'liq 2 deadline Boburjon
Yuqoridagi misolda biz avvalgi holatidan har bir qo'ng'iroq uchun qiymatini 2 ga ko'paytiruvchi o'zgaruvchan xarita ob'ektidan foydalandik. Bu istalmagan natijalarga olib kelishi mumkin, chunki biz buni unutib, bu funksiyani boshqa joyda chaqirishimiz mumkinligi sababli, disk raskadrovka qilish ham qiyin bo'ladi.
Ushbu versiya bilan sinovdan o'tkazish va disk raskadrovka qilish ancha oson, chunki o'zgaruvchanlik yo'q.
Deterministik:
Funktsional dasturlashning deterministik xususiyati shuni anglatadiki, bir xil kirishlar nima bo'lishidan qat'iy nazar bir xil natijalarni berishi kerak.
Deterministik va deterministik kod misoli
Yo'naltiruvchi shaffof:
Yo'naltiruvchi shaffoflik funksiyaning o'zini tegishli qiymati bilan almashtirishi mumkin.
Yo'naltiruvchi Shaffof va Yo'naltiruvchi Shaffof bo'lmagan kod misoli
Hech qanday nojo'ya ta'sirlar:
Yon ta'sirlar - bu mahalliy muhitdan tashqarida qandaydir holatni o'zgartiradigan operatsiyalar. (global o'zgaruvchini o'zgartirish, uning ko'rsatkichi bilan o'tgan parametrni o'zgartirish, konsolga chop etish, ma'lumotlar bazasiga ma'lumotlarni kiritish)
Avvaliga buni tushunish biroz qiyin, shuning uchun haqiqiy hayot misolini ko'rib chiqaylik.
QAYD: Ushbu qism faqat yon ta'sir nima ekanligini tushuntirishga qaratilgan, uni FP bilan qanday tuzatishingiz emas.
Stsenariy: Tasavvur qiling, sizda baklava do'koningiz bor. Bilmasangiz, paxlava Turkiyadan jannatdan tayyorlangan shirinlik. Sizda async api bor va sizda mavjud bo'lgan har bir turdagi baklava lazzatining narxini saqlash uchun ma'lumotlar bazasidan foydalanasiz. Raqobatchilaringizning paxlava narxlarini tekshiradigan brauzer dasturi ham bor, bu sizga hech bo'lmaganda raqobatchilaringizning eng arzon narxiga mos keladigan narxni taklif qilishingizga ishonch hosil qilish uchun, lekin agar xohlasangiz, narxni qo'lda belgilashingiz mumkin.
|
| |