Video tugadi. Endi o‘zingiz yozib ko‘ring.
Darsni ko‘rayotganda hammasi tushunarli: «Ha, buni bildim».
Keyin videoni yopasiz, bo‘sh fayl ochasiz… Birinchi qatorni nimadan boshlashni bilmay qolasiz. Tanish holatmi? 😅
Shunday paytda kichkina mashq qilib ko‘ring. Darsda vazifalar ro‘yxati yozilgan bo‘lsa, o‘zingiz xaridlar ro‘yxatini yasang. Uchta imkoniyati bo‘lsin: mahsulot qo‘shish, o‘chirish va olindi deb belgilash.
Qayerida to‘xtasangiz, aynan o‘sha joyni qayta ko‘ring. Keyin davom eting.
Mustaqil yozayotganda qaysi joyni tushunganingiz, qaysi joyni shunchaki takrorlaganingiz bilinadi.
Oxirgi ko‘rgan darsingizdan keyin o‘zingiz nima yasab ko‘rdingiz?
Darsni ko‘rayotganda hammasi tushunarli: «Ha, buni bildim».
Keyin videoni yopasiz, bo‘sh fayl ochasiz… Birinchi qatorni nimadan boshlashni bilmay qolasiz. Tanish holatmi? 😅
Shunday paytda kichkina mashq qilib ko‘ring. Darsda vazifalar ro‘yxati yozilgan bo‘lsa, o‘zingiz xaridlar ro‘yxatini yasang. Uchta imkoniyati bo‘lsin: mahsulot qo‘shish, o‘chirish va olindi deb belgilash.
Qayerida to‘xtasangiz, aynan o‘sha joyni qayta ko‘ring. Keyin davom eting.
Mustaqil yozayotganda qaysi joyni tushunganingiz, qaysi joyni shunchaki takrorlaganingiz bilinadi.
Oxirgi ko‘rgan darsingizdan keyin o‘zingiz nima yasab ko‘rdingiz?
❤2👍2🔥1😨1
AI kod yozib berdi. Ishga tushirdingiz — ishladi. Shu payt uni loyihaga qo‘shib yuborgingiz keladi.
Bir oz to‘xtab, uchta narsani tekshirib ko‘ring:
— Bo‘sh ma’lumot kelsa, nima bo‘ladi?
— So‘rov muvaffaqiyatsiz tugasa-chi?
— Bu yechim loyihadagi qolgan kodga mos keladimi?
Keyin kodning vazifasini o‘zingiz ikki-uch jumlada tushuntirib ko‘ring. Biror qismi noaniq qolsa, o‘sha joyini alohida tekshiring.
AI bergan izohni ham kod va test natijasi bilan solishtirish kerak.
Keyinchalik shu kodda xato chiqsa, uni tushunishingiz juda asqatadi. «Buni AI yozgandi» degan gap muammoni topib bermaydi 🙂
Bir oz to‘xtab, uchta narsani tekshirib ko‘ring:
— Bo‘sh ma’lumot kelsa, nima bo‘ladi?
— So‘rov muvaffaqiyatsiz tugasa-chi?
— Bu yechim loyihadagi qolgan kodga mos keladimi?
Keyin kodning vazifasini o‘zingiz ikki-uch jumlada tushuntirib ko‘ring. Biror qismi noaniq qolsa, o‘sha joyini alohida tekshiring.
AI bergan izohni ham kod va test natijasi bilan solishtirish kerak.
Keyinchalik shu kodda xato chiqsa, uni tushunishingiz juda asqatadi. «Buni AI yozgandi» degan gap muammoni topib bermaydi 🙂
❤2👍2🥰1😨1
Bug topilmayaptimi? Avval uni qayta chiqaring.
Bir joyini o‘zgartirdingiz. Ishlamadi. Yana ikkita joyini o‘zgartirdingiz. Endi avval ishlagan qismi ham ishlamayapti.
Debug ba’zan shunaqa aylanib ketadi.
Avval xatoni qayta chiqaradigan qadamlarni yozib oling. Masalan: sahifani ochish → formani bo‘sh yuborish → tugmani yana bosish → xatolik.
Keyin shu holatni alohida tekshiring. Qanday ma’lumot keldi? Qaysi bosqichgacha hammasi to‘g‘ri? Qayerda kutilgan natija o‘zgardi?
Har safar bitta narsani o‘zgartirib, natijani solishtiring. Shunda qaysi o‘zgarish ta’sir qilganini bilasiz.
Bug yo‘qolgach, o‘sha qadamlarni yana bajaring. Tuzatish haqiqatan ishlaganini tekshirish ham ishning bir qismi.
Bir joyini o‘zgartirdingiz. Ishlamadi. Yana ikkita joyini o‘zgartirdingiz. Endi avval ishlagan qismi ham ishlamayapti.
Debug ba’zan shunaqa aylanib ketadi.
Avval xatoni qayta chiqaradigan qadamlarni yozib oling. Masalan: sahifani ochish → formani bo‘sh yuborish → tugmani yana bosish → xatolik.
Keyin shu holatni alohida tekshiring. Qanday ma’lumot keldi? Qaysi bosqichgacha hammasi to‘g‘ri? Qayerda kutilgan natija o‘zgardi?
Har safar bitta narsani o‘zgartirib, natijani solishtiring. Shunda qaysi o‘zgarish ta’sir qilganini bilasiz.
Bug yo‘qolgach, o‘sha qadamlarni yana bajaring. Tuzatish haqiqatan ishlaganini tekshirish ham ishning bir qismi.
❤2👍2🔥1😨1
Commit xabaringiz — ertangi o‘zingizga xat.
Git tarixini ochasiz:
fix
update
fix again
Xo‘p… nima o‘zgargandi o‘zi? 😄
Commit yozayotganda keyin uni o‘qiydigan odamni o‘ylang. Ko‘pincha o‘sha odam o‘zingiz bo‘lasiz.
Masalan, fix o‘rniga:
Bo‘sh savatda buyurtma berishni cheklash
Yoki update o‘rniga:
Profilga telefon raqamini tahrirlashni qo‘shish
Bitta vazifaga tegishli o‘zgarishlarni bir commitga yig‘ishga harakat qiling. Tugma rangini almashtirish bilan to‘lovdagi xatoni tuzatish alohida tursa, tarixni tushunish osonlashadi.
Commit xabariga uzun hikoya shart emas. Nima o‘zgarganini aniq aytsangiz, yetadi.
Hozir oxirgi committingizni ochsangiz, nomidan nima qilinganini tushunsa bo‘ladimi?
Git tarixini ochasiz:
fix
update
fix again
Xo‘p… nima o‘zgargandi o‘zi? 😄
Commit yozayotganda keyin uni o‘qiydigan odamni o‘ylang. Ko‘pincha o‘sha odam o‘zingiz bo‘lasiz.
Masalan, fix o‘rniga:
Bo‘sh savatda buyurtma berishni cheklash
Yoki update o‘rniga:
Profilga telefon raqamini tahrirlashni qo‘shish
Bitta vazifaga tegishli o‘zgarishlarni bir commitga yig‘ishga harakat qiling. Tugma rangini almashtirish bilan to‘lovdagi xatoni tuzatish alohida tursa, tarixni tushunish osonlashadi.
Commit xabariga uzun hikoya shart emas. Nima o‘zgarganini aniq aytsangiz, yetadi.
Hozir oxirgi committingizni ochsangiz, nomidan nima qilinganini tushunsa bo‘ladimi?
❤2👍2🔥1😨1💘1
Portfolio uchun loyihani qayerdan boshlash kerak?
«Qanaqa loyiha qilsam, qiziqroq bo‘ladi?» deb ancha vaqt o‘tkazib yuborish mumkin.
Atrofingizdagi kichik bir ishni tanlab ko‘ring: ustaga navbat yozish, buyurtma holatini ko‘rsatish yoki kitoblar ro‘yxatini yuritish.
Keyin uning asosiy vazifasini oxirigacha ishlating. Foydalanuvchi kirib, kerakli ishni bajara olsin. Bo‘sh holatlar va xatolar ham tushunarli bo‘lsin.
Tavsifiga esa uchta narsani yozing: loyiha kimga kerak, qanday muammoni hal qiladi va uni yaratishda qaysi qarorlarni qabul qildingiz.
Ko‘rgan odam loyihani ochib, nima qilishini tushunsin.
Sizda ham asosiy qismi tayyor, lekin hali tugatilmagan loyiha bormi? Balki navbatdagi ish o‘shandir.
«Qanaqa loyiha qilsam, qiziqroq bo‘ladi?» deb ancha vaqt o‘tkazib yuborish mumkin.
Atrofingizdagi kichik bir ishni tanlab ko‘ring: ustaga navbat yozish, buyurtma holatini ko‘rsatish yoki kitoblar ro‘yxatini yuritish.
Keyin uning asosiy vazifasini oxirigacha ishlating. Foydalanuvchi kirib, kerakli ishni bajara olsin. Bo‘sh holatlar va xatolar ham tushunarli bo‘lsin.
Tavsifiga esa uchta narsani yozing: loyiha kimga kerak, qanday muammoni hal qiladi va uni yaratishda qaysi qarorlarni qabul qildingiz.
Ko‘rgan odam loyihani ochib, nima qilishini tushunsin.
Sizda ham asosiy qismi tayyor, lekin hali tugatilmagan loyiha bormi? Balki navbatdagi ish o‘shandir.
❤2👍2🔥1😨1
Inglizcha hujjatdagi hamma so‘zni bilish kerakmi?
Inglizcha dokumentatsiyani ochib, birinchi notanish so‘zdayoq tarjimonga o‘tib ketasizmi?
Avval jumlaning umumiy ma’nosini tushunishga urinib ko‘ring.
Masalan: Failed to connect to database.
Gap bazaga ulanish amalga oshmaganligi haqida. Endi nimani tekshirish kerakligi bo‘yicha yo‘nalish bor.
Ko‘p uchraydigan so‘zlarni vaziyati bilan yozib boring:
— request — so‘rov;
— response — javob;
— required — majburiy;
— retry — qayta urinish.
Bugun bitta kichik bo‘limni o‘qib, ma’nosini o‘zbekcha bir jumlada yozib ko‘ring. Tushunmagan joyingizni keyin tarjima qiling.
Shu tarzda ishga kerak bo‘ladigan so‘zlaringiz asta-sekin yig‘ilib boradi.
Inglizcha dokumentatsiyani ochib, birinchi notanish so‘zdayoq tarjimonga o‘tib ketasizmi?
Avval jumlaning umumiy ma’nosini tushunishga urinib ko‘ring.
Masalan: Failed to connect to database.
Gap bazaga ulanish amalga oshmaganligi haqida. Endi nimani tekshirish kerakligi bo‘yicha yo‘nalish bor.
Ko‘p uchraydigan so‘zlarni vaziyati bilan yozib boring:
— request — so‘rov;
— response — javob;
— required — majburiy;
— retry — qayta urinish.
Bugun bitta kichik bo‘limni o‘qib, ma’nosini o‘zbekcha bir jumlada yozib ko‘ring. Tushunmagan joyingizni keyin tarjima qiling.
Shu tarzda ishga kerak bo‘ladigan so‘zlaringiz asta-sekin yig‘ilib boradi.
❤2👍2🥰2😨1
«Nimadir xato ketdi». Xo‘p, endi nima qilay?
Foydalanuvchi fayl yuklayapti. Tugmani bosdi va shu yozuv chiqdi.
Qayta urinsinmi? Boshqa fayl tanlasinmi? Kutib tursinmi?
Masalan, sabab fayl hajmida bo‘lsa, shunday yozish mumkin:
«Fayl hajmi 12 MB. Bu yerga 10 MB gacha fayl yuklash mumkin. Hajmini kamaytiring yoki boshqa fayl tanlang».
Endi muammo ham, keyingi qadam ham tushunarli.
Xatolik matnini yozayotganda tekshiring: nima bo‘ldi va foydalanuvchi hozir nima qila oladi?
Ekranning narigi tomonida dastur ichida nima bo‘layotganini bilmaydigan odam bor. Matn unga ishini davom ettirishga yordam bersin.
Loyihangizdagi xatolik xabarlarini bir marta foydalanuvchi bo‘lib o‘qib ko‘ring.
Foydalanuvchi fayl yuklayapti. Tugmani bosdi va shu yozuv chiqdi.
Qayta urinsinmi? Boshqa fayl tanlasinmi? Kutib tursinmi?
Masalan, sabab fayl hajmida bo‘lsa, shunday yozish mumkin:
«Fayl hajmi 12 MB. Bu yerga 10 MB gacha fayl yuklash mumkin. Hajmini kamaytiring yoki boshqa fayl tanlang».
Endi muammo ham, keyingi qadam ham tushunarli.
Xatolik matnini yozayotganda tekshiring: nima bo‘ldi va foydalanuvchi hozir nima qila oladi?
Ekranning narigi tomonida dastur ichida nima bo‘layotganini bilmaydigan odam bor. Matn unga ishini davom ettirishga yordam bersin.
Loyihangizdagi xatolik xabarlarini bir marta foydalanuvchi bo‘lib o‘qib ko‘ring.
❤3👍2🥰1😨1
«Oddiygina sayt» ichida nimalar bor?
Kimdir oddiy sayt deganda bitta sahifani tushunadi. Boshqa odam esa admin panel, uchta til va buyurtma tizimini ham qo‘shib aytayotgan bo‘ladi.
Boshlashdan oldin natijani yozib chiqing:
— nechta sahifa bo‘ladi;
— qaysi funksiyalar ishlaydi;
— matn va rasmlarni kim tayyorlaydi;
— ish qachon topshiriladi;
— nechta tuzatish bosqichi bor.
Masalan: «Uch sahifali sayt, aloqa formasi va mobil ko‘rinish. Matn hamda rasmlar buyurtmachidan».
Keyin yangi funksiya so‘ralsa, uning vaqt va narxga ta’sirini alohida muhokama qilish osonroq bo‘ladi.
Sizda ham «bitta kichkina qo‘shimcha» oxirida alohida loyihaga aylanib ketganmi? 🙂
Kimdir oddiy sayt deganda bitta sahifani tushunadi. Boshqa odam esa admin panel, uchta til va buyurtma tizimini ham qo‘shib aytayotgan bo‘ladi.
Boshlashdan oldin natijani yozib chiqing:
— nechta sahifa bo‘ladi;
— qaysi funksiyalar ishlaydi;
— matn va rasmlarni kim tayyorlaydi;
— ish qachon topshiriladi;
— nechta tuzatish bosqichi bor.
Masalan: «Uch sahifali sayt, aloqa formasi va mobil ko‘rinish. Matn hamda rasmlar buyurtmachidan».
Keyin yangi funksiya so‘ralsa, uning vaqt va narxga ta’sirini alohida muhokama qilish osonroq bo‘ladi.
Sizda ham «bitta kichkina qo‘shimcha» oxirida alohida loyihaga aylanib ketganmi? 🙂
❤3👍2😨2💘2
«Kod ishlamayapti»ga ozgina kontekst qo‘shaylik.
Yordam bermoqchi bo‘lgan odam sizning ekraningizni ham, oldin nima qilganingizni ham bilmaydi.
Savolda to‘rtta narsa bo‘lsin:
Nima bo‘lishini kutgandingiz?
Hozir nima bo‘lyapti?
Nimalarni sinab ko‘rdingiz?
Muammoga tegishli kod yoki xatolik matni qayerda?
Masalan: «Yangi vazifa qo‘shilyapti, lekin ro‘yxatda faqat sahifani yangilaganimdan keyin ko‘rinyapti. So‘rovdan keyin ro‘yxatni yangilashni sinadim. Mana tegishli kod».
Shu gapning o‘zida tekshirishni boshlash uchun ancha ma’lumot bor.
Kodni matn shaklida yuborsangiz, nusxalab tekshirish ham qulay bo‘ladi.
Ba’zan savolni shu tartibda yozishning o‘zida qayerni tekshirish kerakligini payqab qolasiz.
Yordam bermoqchi bo‘lgan odam sizning ekraningizni ham, oldin nima qilganingizni ham bilmaydi.
Savolda to‘rtta narsa bo‘lsin:
Nima bo‘lishini kutgandingiz?
Hozir nima bo‘lyapti?
Nimalarni sinab ko‘rdingiz?
Muammoga tegishli kod yoki xatolik matni qayerda?
Masalan: «Yangi vazifa qo‘shilyapti, lekin ro‘yxatda faqat sahifani yangilaganimdan keyin ko‘rinyapti. So‘rovdan keyin ro‘yxatni yangilashni sinadim. Mana tegishli kod».
Shu gapning o‘zida tekshirishni boshlash uchun ancha ma’lumot bor.
Kodni matn shaklida yuborsangiz, nusxalab tekshirish ham qulay bo‘ladi.
Ba’zan savolni shu tartibda yozishning o‘zida qayerni tekshirish kerakligini payqab qolasiz.
❤2👍2🥰2😨1
data2 — ertangi o‘zingizga qoldirilgan topishmoq.
Bugun bu o‘zgaruvchida nima borligini bilasiz. Bir oy o‘tib kodni ochganda esa yana izlab chiqishga to‘g‘ri keladi.
Tanlangan mahsulotlar bo‘lsa, selectedProducts deb nomlang. Yetkazib berish narxi bo‘lsa, shippingCost aniqroq.
Funksiyalarda ham shunday: handleData nomidan nima qilishi bilinmaydi. calculateOrderTotal esa vazifasini tushuntirib turibdi.
Nom kodning amaldagi ishiga mos bo‘lsin. Funksiya o‘zgarib, eski nom qolib ketsa, chalg‘itadi.
Uzun izoh yozishdan oldin nomlarni bir ko‘zdan kechiring. Balki tushunarsiz joyni nomning o‘zi bilan aniqlashtirish mumkindir.
Loyihangizda hali ham temp, test2 yoki newData yashayaptimi? 😄
Bugun bu o‘zgaruvchida nima borligini bilasiz. Bir oy o‘tib kodni ochganda esa yana izlab chiqishga to‘g‘ri keladi.
Tanlangan mahsulotlar bo‘lsa, selectedProducts deb nomlang. Yetkazib berish narxi bo‘lsa, shippingCost aniqroq.
Funksiyalarda ham shunday: handleData nomidan nima qilishi bilinmaydi. calculateOrderTotal esa vazifasini tushuntirib turibdi.
Nom kodning amaldagi ishiga mos bo‘lsin. Funksiya o‘zgarib, eski nom qolib ketsa, chalg‘itadi.
Uzun izoh yozishdan oldin nomlarni bir ko‘zdan kechiring. Balki tushunarsiz joyni nomning o‘zi bilan aniqlashtirish mumkindir.
Loyihangizda hali ham temp, test2 yoki newData yashayaptimi? 😄
❤3👍2❤🔥1🔥1💯1😨1
Test yozayotganda kodni biroz qiynab ko‘ring.
Funksiya odatiy ma’lumot bilan ishladi. Yaxshi. Endi unga noqulayroq vaziyat beramiz 🙂
Masalan, savat summasini hisoblayotgan bo‘lsangiz:
— savat bo‘sh;
— bitta mahsulot bor;
— bir mahsulotdan bir nechta olingan;
— chegirma qo‘llangan.
Har birida qanday natija chiqishi kerakligini oldindan yozing. Keyin kodni tekshiring.
Test tanlayotganda «Bu buzilsa, foydalanuvchiga nima bo‘ladi?» degan savol foydali. Hisob noto‘g‘ri chiqishi yoki buyurtma yo‘qolishi kabi holatlardan boshlash mumkin.
Bir xatoni tuzatgan bo‘lsangiz, o‘sha vaziyat uchun test ham qo‘shing. Keyingi o‘zgarishda u yana paydo bo‘lsa, bilib olasiz.
Funksiya odatiy ma’lumot bilan ishladi. Yaxshi. Endi unga noqulayroq vaziyat beramiz 🙂
Masalan, savat summasini hisoblayotgan bo‘lsangiz:
— savat bo‘sh;
— bitta mahsulot bor;
— bir mahsulotdan bir nechta olingan;
— chegirma qo‘llangan.
Har birida qanday natija chiqishi kerakligini oldindan yozing. Keyin kodni tekshiring.
Test tanlayotganda «Bu buzilsa, foydalanuvchiga nima bo‘ladi?» degan savol foydali. Hisob noto‘g‘ri chiqishi yoki buyurtma yo‘qolishi kabi holatlardan boshlash mumkin.
Bir xatoni tuzatgan bo‘lsangiz, o‘sha vaziyat uchun test ham qo‘shing. Keyingi o‘zgarishda u yana paydo bo‘lsa, bilib olasiz.
❤3👍2🔥2
Formada majburiy maydonlar bor. Noto‘g‘ri qiymat kiritilsa, tugma ishlamaydi. Hammasi nazorat ostidadek ko‘rinadi.
Lekin so‘rov serverga aynan shu forma orqali kelishi shart emas. Brauzerdagi tekshiruvni chetlab o‘tish mumkin.
Shuning uchun server ham kelgan ma’lumotni tekshirishi kerak.
Masalan, mahsulot soni kamida 1 bo‘lishi kerak bo‘lsa, bu qoidani serverda ham tekshiring. So‘rovda 0 yoki manfiy qiymat kelsa, uni qabul qilmang.
Brauzerdagi tekshiruv odamga xatosini darrov ko‘rsatishga yordam beradi. Serverdagi tekshiruv esa tizimga qanday ma’lumot kirishini nazorat qiladi.
Ikkalasining ham o‘z vazifasi bor.
Lekin so‘rov serverga aynan shu forma orqali kelishi shart emas. Brauzerdagi tekshiruvni chetlab o‘tish mumkin.
Shuning uchun server ham kelgan ma’lumotni tekshirishi kerak.
Masalan, mahsulot soni kamida 1 bo‘lishi kerak bo‘lsa, bu qoidani serverda ham tekshiring. So‘rovda 0 yoki manfiy qiymat kelsa, uni qabul qilmang.
Brauzerdagi tekshiruv odamga xatosini darrov ko‘rsatishga yordam beradi. Serverdagi tekshiruv esa tizimga qanday ma’lumot kirishini nazorat qiladi.
Ikkalasining ham o‘z vazifasi bor.
❤3🔥3👍2