Dasturlash asoslari — cheatsheet

Dastur mantigi
| Atama | Qisqa ma’nosi | Dars |
|---|---|---|
| Dastur | Kompyuter bajaradigan aniq buyruqlar to’plami | Dasturlash nima |
| Algoritm | Natijaga olib boruvchi tartibli, cheklangan qadamlar | Algoritm nima |
| Psevdokod | Muayyan til sintaksisisiz yozilgan dastur rejasi | Kod mantig’i |
| O’zgaruvchi | Nom bilan saqlangan qiymat | Kod mantig’i |
| Shart | Rost/yolg’on javobiga qarab tanlanadigan yo’l | Kod mantig’i |
| Sikl | Bir amalni qoidaga ko’ra takrorlash | Kod mantig’i |
| Funksiya | Nomlangan, qayta ishlatiladigan qadamlar guruhi | Kod mantig’i |
| Debugging | Xatoning sababini topish va tekshirish jarayoni | Debugging asoslari |
Vositalar va yo’nalishlar
| Atama | Qisqa ma’nosi |
|---|---|
| Sintaksis | Tilning yozish qoidalari |
| IDE | Kod yozish, ishga tushirish va debugging uchun dastur |
| Git | O’zgarishlar tarixini saqlash tizimi |
| Frontend | Foydalanuvchi brauzerda ko’radigan qism |
| Backend | Serverdagi mantiq, xavfsizlik va ma’lumot qismi |
| API | Dasturlar o’rtasidagi muloqot kelishuvi |
Kod yozishdan oldin talab, kirish/chiqish va test misolini yozing. Kod ishlamasa, xato xabarini o’qing, muammoni takrorlang va oraliq qiymatlarni tekshiring. Kengroq izoh uchun ma’lumotnomaga o’ting.
Ma’lumot va natija atamalari
| Atama | Qisqa ma’nosi | Savol |
|---|---|---|
| Kirish | Dastur oladigan qiymat | Dastur nimadan boshlaydi? |
| Chiqish | Dastur qaytaradigan yoki ko’rsatadigan natija | Foydalanuvchi nimani ko’radi? |
| Validatsiya | Qiymat qabul qilinishidan oldingi tekshiruv | Bu ma’lumot yaroqlimi? |
| Chekka holat | Kam uchraydigan, ammo muhim holat | Ro’yxat bo’sh bo’lsa nima bo’ladi? |
| Test holati | Kutilgan natijani tekshiradigan misol | Shu kirishda nima chiqishi kerak? |
| Xato xabari | Muammo joyi haqida texnik signal | Qaysi qator va nima buzildi? |
Tez qaror daraxti
Qiymatni keyinroq ishlatish kerak bo’lsa, o’zgaruvchi yarating. Javobga qarab yo’l o’zgarsa, shart ishlating. Bir amal bir nechta elementga qaytarilsa, sikl tanlang. Bir qadamlar guruhi boshqa joyda ham kerak bo’lsa, funksiya qiling. Dastur natijasi noto’g’ri bo’lsa, avval kutilgan va haqiqiy natijani yozing, keyin oraliq qiymatlarni tekshiring.
Xavfsiz ish odatlari
.envichidagi token va parolni Gitga qo’shmang.- Kodni kichik o’zgarishlarda saqlang va izohli commit yozing.
- Internetdagi kodni ko’chirishdan oldin uning kirishi, chiqishi va xavfsizlik oqibatini tushuning.
- Xato xabarini ulashishdan oldin maxfiy qiymatlarni olib tashlang.
- Ishlamagan usulni ham qisqa qayd qiling: u keyingi debuggingda foydali bo’ladi.
Muammo yechish
Atamalar lug’ati
| Atama | Qanday ishlatiladi | Kichik misol |
|---|---|---|
| Talab | Dastur nima berishini belgilaydi | “Budjetdan oshsa ogohlantir” |
| Qoida | Kirishdan natija chiqarish sharti | jami > budjet |
| Algoritm | Qadamlar rejasi | Avval qo’sh, keyin solishtir |
| Psevdokod | Tilga bog’lanmagan reja | agar ... bo'lsa |
| Dry run | Qiymatni qo’lda kuzatish | jami 0 → 12 → 20 |
| Debugging | Sababni dalil bilan topish | Console yoki print |
| Refactor | Xatti-harakatni saqlab kodni yaxshilash | Uzun funksiyani bo’lish |
Shart va taqqoslash
= ko’p tilda qiymatni o’zgaruvchiga saqlash, == yoki === esa taqqoslash
uchun ishlatilishi mumkin. Sintaksis tilga qarab farq qiladi, ammo savol bir
xil: ikki qiymat tengmi, biri kattami, ikkita shart bir vaqtda rostmi? Shartni
yozishdan oldin rost holat va yolg’on holat uchun bittadan misol yozing.
| Vaziyat | Savol | Natija |
|---|---|---|
| Summa 0 | Musbatmi? | Yo’q, xato xabari |
| Summa 12 000 | Budjet 10 000 dan oshdimi? | Ha, ogohlantirish |
| Ro’yxat bo’sh | Hisoblash mumkinmi? | Maxsus bo’sh holat |
| Login yo’q | Himoyalangan amal mumkinmi? | Kirish so’raladi |
Test uchun eslatma
Har yangi funksiya uchun odatiy misol, chekka misol va noto’g’ri kiritishni
yozing. Masalan, jami_hisobla uchun ikkita musbat son, bo’sh ro’yxat va
manfiy summa bilan bog’liq qoida kerak. Testning maqsadi kod buzilganini
isbotlash emas, talab ishlayotganini ishonch bilan tekshirishdir.
Vosita va jarayon
Git va jamoa bilan ishlash
git status ishchi papkada nima o’zgarganini ko’rsatadi. git diff aynan
qatorlar farqini o’qishga yordam beradi. Commit oldidan farqni ko’ring,
maxfiy fayl tasodifan qo’shilmaganini tekshiring va xabarni ma’noli yozing.
Branch alohida ish maydoni, pull request esa review va avtomatik tekshiruv
nuqtasi. Merge qilishdan oldin test hamda build o’tgani tekshiriladi.
Web atamalarining bog’lanishi
Brauzer frontendni ko’rsatadi, frontend HTTP orqali backendga so’rov yuboradi, backend qoida va ruxsatni tekshiradi, ma’lumotlar bazasi doimiy ma’lumotni saqlaydi, API esa qatlamlar o’rtasidagi kelishuv bo’ladi. Xato chiqqanda Network, Console, server logi yoki bazadagi yozuv qaysi qatlamni ko’rsatishini ajratishga yordam beradi.
Kunlik ishlash checklisti
- Bugungi kichik maqsadni bitta gapda yozing.
- Koddan oldin bir misol kirish va chiqishni belgilang.
- O’zgarishdan keyin odatiy hamda chekka holatni sinang.
- Xato bo’lsa, xabar va oraliq qiymatni qayd qiling.
- Farqni o’qib, maxfiy ma’lumot yo’qligini tekshiring.
- Keyingi qadamni yozib qo’ying.
Kodni o’qish uchun savollar
Boshqaning yoki avval yozgan kodingizni ochganda har satrni darhol yoddan tushunishga urinmang. Avval umumiy oqimni toping: dastur qayerdan boshlanadi, qaysi ma’lumot kiradi, asosiy funksiya nimani qaytaradi va natija qayerda ko’rsatiladi? Keyin bitta funksiya ichiga kiring. U qanday qiymat oladi, ichida nimani o’zgartiradi va qaytarayotgan qiymati nima — shu uch savol kodning katta qismini o’qishga yo’l ochadi.
| Kuzatish | O’zingizga beriladigan savol | Foydasi |
|---|---|---|
| Funksiya nomi | U bitta aniq ishni aytyaptimi? | Vazifani taxmin qilmasdan tushunasiz |
| Parametr | Qiymat qayerdan keladi? | Kirish manbaini topasiz |
return |
Natija qayerga ketadi? | Chiqish oqimini ko’rasiz |
| Shart | Qaysi yo’llar bor? | Unutilgan holatni sezasiz |
| Sikl | Nima takrorlanadi va qachon tugaydi? | Cheksiz yoki noto’g’ri aylanishni topasiz |
| O’zgaruvchi | Qachon o’zgaradi? | Noto’g’ri hisob sababini toraytirasiz |
Nom noaniq bo’lsa, uni o’qib turgan joyda izoh yoki kichik qayd yozing. Ammo ishlayotgan kodni birdaniga qayta nomlashdan oldin test holatlarini biling: ba’zi nomlar boshqa fayllarda ham ishlatilishi mumkin. Avval tushunish, keyin ehtiyotkor refactor qilish — yangi xato kiritish ehtimolini kamaytiradi.
Terminal va brauzerni ajrating
Terminal buyruqlari operatsion tizim va loyiha vositalari bilan ishlaydi; brauzer Console’i esa sahifa ichidagi JavaScript qiymatlarini kuzatadi. git status terminalda bajariladi va Git holatini ko’rsatadi. console.log() esa brauzer DevTools Console’ida ko’rinadi va sahifada qaysi qiymat borligini tekshiradi. Ikkalasini aralashtirib yubormaslik debugging vaqtini tejaydi.
Buyruqni ishga tushirishdan oldin uning qayerda bajarilishini, qaysi papkaga ta’sir qilishini va qanday natija kutayotganingizni aniqlang. Ayniqsa o’rnatish, formatlash yoki fayl o’zgartiradigan buyruqlarni ko’r-ko’rona nusxalab ishga tushirmang. Loyihaning README yoki paket buyruqlarini o’qing; noma’lum buyruqning ma’nosini tushunib oling.
Xabarlarni aniq yozish
Dastur foydalanuvchi bilan asosan xabarlar orqali gaplashadi. Yaxshi xabar nima bo’lganini va keyin nima qilish kerakligini bildiradi. “Noto’g’ri” juda umumiy; “Email manzilini ism@example.com ko’rinishida kiriting” esa tuzatish yo’lini beradi. Texnik stack trace, ichki fayl yo’li, token yoki ma’lumotlar bazasi tafsilotini foydalanuvchiga chiqarmang. Bular debugging logi uchun kerak bo’lishi mumkin, lekin xavfsizlik va tushunarlilik nuqtayi nazaridan interfeysga mos emas.
Muvaffaqiyat xabari ham foydali bo’lsin. Masalan, “Saqlandi” o’rniga “3 ta xarajat saqlandi, jami 42 000 so’m” foydalanuvchiga holatni tasdiqlaydi. Agar amal biroz vaqt olsa, loading holatini ham rejalang: tugma bosilgandan keyin jim turadigan sahifa ishlamayotgandek ko’rinadi.
O’rganishni mustahkamlash
Har yangi atama uchun to’rt qadam yetarli: ta’rifni o’qing, kichik misol ko’ring, misolni o’zingiz o’zgartiring va natijani tushuntirib bering. Masalan, siklni o’rgansangiz, tayyor ro’yxatni aylantiring; keyin elementlar sonini o’zgartiring; bo’sh ro’yxatda nima bo’lishini tekshiring; so’ng nima uchun sikl to’xtaganini gap bilan yozing. Bu usul faqat kodni ko’chirishdan ko’ra barqarorroq bilim beradi.
Cheatsheetni dars o’rniga ishlatmang. U yo’nalish ko’rsatadi, ammo tushuncha amaliy mashq va xato orqali mustahkamlanadi. Bir atama kerak bo’lganda shu sahifaga qayting, keyin ichki havola orqali tegishli darsni oching va o’zingizning mini-loyihangizda qo’llang.
Keyingi darsda ma’lumotnoma — nazorat ro’yxatlari va tahlil shablonlari bilan tanishasiz.