Dasturlash bo’yicha savol-javob kodeksi



Yüklə 11,1 Mb.
Pdf görüntüsü
tarix16.09.2023
ölçüsü11,1 Mb.
#144063
Dasturlash bo\'yicha savol-javob kodeksi



Dasturlash bo’yicha

savol-javob kodeksi


Mundarija
Kirish
04
Xato haqidagi ma’lumotni o’qing
05
Avval mustaqil izlanib ko’ring
07
Imlo xatolarsiz yozing
09
Shaxsiy xabarda savol so’rashda ehtiyot bo’ling
11
Yuqoriga qaramang
13
Muhokamaga mos topikdan foydalaning
14
Yozishmalar madaniyatiga rioya qiling
16
Meta savollar bermang
18
Ovozli xabar yubormang
20
Katta harflarning o’zidagina yozmang
22
Savolni bitta xabarda yozing
24
Savolni to’liq mazmunda yozing
25
Savolni yuborishdan oldin tekshirib oling
26
Avval maqsadni keyin muammoni ayting
27
Hashtag qo’ying
29
Kontekst haqida yetarlicha ma’lumot bering
31
Mas’ul odamni tag qiling
33
Muammoga oid (!) kodni skrinshot qilib yuboring
34
Kodni to’g’ri formatda yuboring
36
02


“Sandbox”lardan foydalaning
37
Yordam emas maslahat so’rang
39
Toksik bo’lmang
40
Guruhdoshlarga yordam bering
42
Sabrli bo’ling
43
Javob topilgani haqida xabarlang
44
Rubber duck debugging
46
Hujjatlashtiring
48
So’ngso’z
50
03


Kirish
O'zingiz uchun yangi bo'lgan ixtiyoriy biron mavzuni 
o'rganayotganingizda savollar bo'lishi tabiiy. Dasturlash 
sohasi ham istisno emas.
Dasturlashni o'rganishni yangi boshlaganlar savolni to'g'ri 
usulda so'rash, fikrini guruhlarda yozma ifodalashda ko'p 
qiynalishadi. Sohada tajribasi bor bo’lganlarda ham shu 
holat uchrab turadi. O’rganayotganlarda savolga javob 
ololmagani sabab sohaga bo'lgan qiziqishi pasayishi, 
sohadan ko'ngli sovushi ehtimoli ham yo’q emas.
“To'g'ri savol berish javobni topishning yarmiga teng” 
degan ibora bor. Qo’llanmamizdan maqsad ham shu - to’g’ri 
savol berish qobiliyatini shakllantirish. Shu bilan birga 
guruhda to’g’ri formatda muhokama qilish bo’yicha ham 
tavsiyalar berib o’tdik.
Bu qo'llanmada savol berishda eng ko'p uchraydigan 
xatoliklarni misollar asosida ta'riflaymiz. O’sha holatda 
savolni qanday usulda yaxshilash mumkinligini ko’rsatamiz. 
Shu bilan birga yozma muloqotga oid tavsiyalarni ham 
qo’shganmiz. Qo’llanmadagi bo’limlarni berilgan ketma-
ketlikda o’qish tavsiya qilinadi.
04


Xato haqidagi ma’lumotni 
o’qing
Kodda biron xato bo’lsa, odatda kod yozish dasturida yoki 
brauzerda xato haqidagi ma’lumot beriladi. Agar shu 
ma’lumotdan to’g’ri foydalanilsa, ko’pincha boshqalarning 
yordamisiz ham muammoga yechim topish mumkin.
Masalan, yuqorida Laravel freymvorkida yozilgan loyihada 
xato haqidagi ma’lumot sahifasi berilgan. Xato qaysi 
qatordagi kod sabab kelib chiqqani, ehtimoliy yechim usuli 
ham ko’rsatilgan.
05


Ingliz tilini bilmasangiz ham bu holatda muammoga yechim 
topa olasiz. Yo’li oson: xato matnini ko’chirasiz, 
 tarjima qilasiz va aytilgan sabablarni bartaraf 
qilishga harakat qilasiz.
Google 
Translateda
Ko’pchilik shoshilish sababli xato matniga e’tibor bermay 
muammoga yechimni boshqalardan so’rashadi. Shunday 
paytda odatda ularga kodga “yaxshiroq qarang” deymiz. 
Huddi “Qirol sher” multfilmidagi Rafiqi kabi...
06


Avval mustaqil

izlanib ko’ring
Biron kursda o’qiyotgan bo’lsangiz, muammoni hal qilish 
uchun o’quv materiallaringizni qayta ko’rib chiqing. Sizdagi 
masala materiallar ichida bo'lmasa, Googledan qidirib 
ko’ring. Biron guruhda savol yozishdan oldin mana bu 
savollarga javob bering.
Mustaqil izlanishlaringiz qanday natija berdi
Topgan yechim usullaringizda nima ishlamadi
Umuman olganda muammoni hal qilish uchun nima 
amallar bajardingiz?
07


Bu savollarga aniq javoblaringiz bo’lmasidan guruhda savol 
yuborishga shoshilmaganingiz ma’qul. Mustaqil yechim 
topishga harakat qilmasdan guruhdoshlar aytgan tayyor 
javoblarga odatlansangiz, bu odat sizga keyinchalik ko’p 
pand beradi.
Biron muammo chiqsa, to’g’ridan-to’g’ri guruhga 
yubormang, avval biroz mustaqil mehnat qiling. Ko’p 
vaziyatlarda savol so’rashga ehtiyoj qolmasligi ham mumkin.
08


Imlo xatolarsiz yozing
Ko’chada biron kim bilan ko’rishganingizda avval uning 
ko’rinishiga qarab ichingizda qandaydir tasavvur paydo 
bo’ladi. Did bilan kiyingan, kiyimlari ozoda bo’lsa, birinchi 
taassurot yaxshi bo’lishi mumkin. Yirtiq yoki yuvuqsiz 
kiyimda, o’ziga qaramagan odam bilan ko’rishganda esa 
birinchi taassurot salbiy bo’lishi ehtimoli baland.
Yozma muloqotda esa imloga qarab birinchi taassurot

farqli bo’lishi mumkin. Imlo xatosiz yozish savolga javob 
olishingiz imkonini ko’payishini kafolatlamasada, imlo 
xatolarga to’la xabar sizning “minusingizga ishlashi” 
mumkin.
09


Biron matndagi imloning to’g’riligida ikkilanadigan 
bo’lsangiz,
yoki 
kabi onlayn 
xizmatlardan foydalanishingiz mumkin. Shu bilan birga 
imloga oid bilimingizni tekshirib, doimiy oshirib borish uchun 
kanali ham qo’l kelishi mumkin.
 matn.uz 
savodxon.uz
Kitob - ilm manbai 
10


Shaxsiy xabarda savol

so’rashda ehtiyot bo’ling
O’rganuvchilarga foydali bo’layotgan Telegram yoki YouTube 
kanal yurituvchilarni ko’rgan bo’lishingiz mumkin. Turli 
Telegram guruhlarida guruhdoshlar savollariga beminnat 
javob berib yordamlashayotgan ko’ngillilar ham bor. 
Tashqaridan qaraganlarda bu odam xohlagan vaqt ixtiyoriy 
masalada yordam berishi mumkin degan taassurot qolishi 
mumkin.
Lekin shu vaziyatda doim yodda tutish kerak bo’lgan nozik 
nuqta bor - bu ishni ular bo’sh vaqtlari bo’lganda yoki 
umumiy guruh hamjamiyati rivojlanishi uchun qilishadi
11


Shaxsiyda so’ralgan savolda faqat bir kishining xos masalasi 
muhokama qilinadi. Guruhdagi muhokamadan esa 
boshqalar ham o’qib o’zlariga foydali ma’lumot olishlari 
mumkin.
Shuning uchun savolingizni shaxsiyda emas guruhda 
so’rang. Shaxsiy xabarda savol berishdan boshqa yo’li 
bo’lmagan holda esa guruhda yordam berayotgan odamdan 
oldindan so’rang: shaxsiyda yordam berishga imkoni bormi 
yoki suhbat guruhda davom ettirilishini ma’qul ko’rishadimi?
Yana bir muhim masala:
Guruh yoki shaxsiyda qarshi jins vakili dasturlashda 
qiynalayotganda savol so’rashidan maqsad - savoliga javob 
olish, tanishish emas. Masala yechimini topishda yordam 
bering va ortiqcha suhbatdan tiyiling. Bu turli xil 
tushunmovchiliklar va noqulay holatlarning oldini oladi.
12


Guruhlardagi qoidalar, ko’p eslanadigan masalalarni 
qadalgan xabarda (pinned message) joylashtirish odat 
tusiga kirgan. Guruhga yangi qo’shilganingizda yoki 
birmuncha muddat tanaffusdan so’ng qaytganingizda 
“pinned message”ni o’qib chiqing. Unda qanday qilib 
savolga tezroq javob olish, muloqotdagi qoidalar va shu kabi 
masalalar beriladi. Ulardan xabardor bo’lishingiz savolga 
javob olish ehtimolini ko’paytiradi.
Telegram guruhda topiklar ochilgan bo’lsa, qoidalar yoki 
e’lonlar yoziladigan alohida topikdagi xabarlar bilan tanishib 
chiqing. Bular bilan tanishish sabab eng kamida bilmasdan 
guruhdagi biron qoidani buzishning oldini olgan bo’lasiz.
Yuqoriga qaramang
13


Muhokamaga mos

topikdan foydalaning
Telegramdagi yangi mavzu (topic) yaratish imkoniyati 
guruhlardagi xabarlarni tartiblashga katta yordam berdi. Endi 
guruhda xabarlashish davomida tog’dan-bog’dan kelgandek 
tuyuladigan har xil mavzular orasidan o’zingizga keragini 
qidirib o’tirmaysiz. Masalan, rus tilidagi bir 
 topiklar yordamida yaxshi tartiblangan.
JavaScript 
hamjamiyati guruhi
14


Topiklarga bo’lingan Telegram guruhda savol so’rashda mos 
topikdan foydalaning. Guruh a’zolari savol tahminan nima 
bo’yicha ekanligini anglay olishadi va guruhdagi xabarlar 
ham tartibli bo’ladi.
Mohirdev kurslarida ham guruhda kurs bo’limlariga mos 
topiklardan foydalanamiz. Siz ham kurslarimizdan birida 
o’qiyotgan bo’lsangiz, savollaringizga tezroq javob bera 
olishimiz uchun mos topiklarda yozishingizni so’raymiz.
15


Yozishmalar madaniyatiga

rioya qiling
Guruhdagi xabarlar orasida salom-aliksiz, skrinshot bilan 
“nima qilish kerak” degan xabar kelsa, guruhdoshlarga 
hurmatsizlik, ular javob berishga majburdek muomala 
qilingan bo’ladi.
Savolga javob olish siz uchun muhim, guruhdagilar uchun 
emas. Shuning uchun yozishmalarda guruhdagilarni hurmat 
qilib yozing. Oddiygina salomdan boshlab, savol oxirida 
"Oldindan rahmat" iborasini qo'shish ham kichik bo'lsada 
savolga javob olishingizda yordam beradi.
16


Savoldan so’ng darhol “???”, “alo”, “shuncha odam bor, hech 
kim bilmaydimi ”, “Begzod aka, %#$@” kabi xabar 
yuborish tavsiya qilinmaydi. Mavzuni bilgan va yordam bera 
oladigan odam imkon topishi bilan javob qoldiradi.
Masalaga javob olganingizdan keyin esa “yo’q bo’lib 
qolmang”. Javob bergan odamga rahmat ayting. Javob 
topishda guruhdagi bir nechta odam yordam qilgan bo’lsa, 
umumiy minnatdorchilik bildiring.
17


Meta savollar bermang
Mana bu yozishmani 
o’qib chiqing. Suhbatda 
nima muammo bor deb 
o’ylaysiz?
Suhbat uzayib 
ketmaganmi? Nima 
deysiz? 
Assalomu alaykum.
Va alaykum assalom.
Uzr, vaqtingiz bor edimi?
Ha.
Bir savol bersam maylimi?
Labbay?
PHP Laravelda ishlaganmisiz?
Ha, ishlaganman.
Onlayn do’kon saytini 
tuzayotgandim. Bir qismida 
qarashib yubora olasizmi?
Savatchaga tushgan mahsulotlar 
jami summasini hisoblashda ikki 
karra summani ko’rsatyapti. Nima 
sababdan bo’lishi mumkin?
Katta ehtimol bilan takrorlanishda 
xato bo’lgan. debugger bilan 
tekshirib ko’ring…
18


Muammoni payqagan bo’lsangiz kerak. Namunadagi 
suhbatda bittada aytilishi mumkin bo’lgan xabar bir nechta 
xabarga bo’linib, har biri uchun ikkinchi tomonning javobini 
olgandan keyingina yuborilgan. Ba’zida bu kabi bo’lib-bo’lib 
yuboriladigan xabarlar oxiriga yetmasdan suhbatdoshingiz 
keyingi xabarlarga javob bermay qolishi ham mumkin.
Nometa.uz saytida bu mavzu batafsil ochib berilgan. Meta 
savollar bermang. Xabaringizni qisqa-lo’nda ko’rinishda 
yuboring. Vaqtingizni tejang.
Endi esa mana bu
namunani* ko’ring. 
Oldingisi bilan orada 
sezilarli farq bor.
*Bu namunada ba’zi boshqa 
masalalarga oid kamchiliklar 
bor. Ularni keyingi 
bo’limlarda qamrab 
olganmiz.
Assalomu alaykum. PHP/
Laravelda tuzayotgan onlayn 
do’kon loyihamda bir masalada 
xato chiqyapti. Savatchaga 
tushgan mahsulotlar jami 
summasini hisoblashda ikki karra 
summani ko’rsatyapti.
Va alaykum assalom. Katta ehtimol 
bilan takrorlanishda xato bo’lgan. 
debugger bilan tekshirib ko’ring…
19


Ovozli xabar yubormang
Ovozli xabar shu qadar ko’pchilikni charchatdi-ki, hatto 
Telegram premium tarifida ovozli xabarni qabul qilmaslik 
imkoniyatini chiqardi. Bundan hamma ham ovozli xabarda 
gaplashishni ma’qul ko’rmaydi deb xulosa qilsak bo’ladi.
Savolingizni matn ko’rinishida yuboring, ovozli xabar emas. 
Ovozli xabar ko’rinishida savol so’raganda muhim 
masalalarni esdan chiqarishingiz, atrofdagi shovqin sabab 
ovozingiz eshitilmay qolishi yoki xabaringizni umuman 
e’tiborga olmasliklari mumkin. 
20


Fikrini yozma xabarda erkin ifoda qila olish ham 
dasturchidan kutiladigan muhim qobiliyatlardan biri 
hisoblanadi.
Ovozli xabarni suhbatdoshlardan ruxsat olgan holda 
yuborish mumkin. Shunda ham fikringizni qisqa-lo’nda 
ifodalashingiz shart.
21


Katta harflarning 
o’zidagina yozmang
Mana bu emojining ma’nosini bilsangiz kerak? 
Ingliz tilidagi “Okay” so’zi shunday qo’l ishorasi bilan 
ko’rsatilishi odat tusiga kirgan. U odatda ijobiy, “yaxshi”, 
“kelishdik” so’zlari ma’nosida keladi. Lekin Fransiyada bu 
qo’l ishorasi “nol” yoki “qiymati yo’q” ma’nosida ham 
foydalanishi mumkin.
22


Yozma muloqotda ham o’ziga xos ma’no bildiruvchi amallar 
mavjud. Ulardan biri - katta harflarning o’zida yozilgan matn 
baqirish ma’nosini bildirishi. Ko’proq katta yoshdagi telefon 
foydalanuvchilarida kuzatilsa ham bu yozish usulini 
boshqalarda ham ko’rish mumkin.
Hech qachon faqat katta harflarda yozmang. Boshqalar sizni 
baqirib gapiryapti, deb tushunib noqulay holatga 
tushishingiz mumkin.
23


Savolni bitta xabarda
yozing
Savolingizga tezroq javob olish uchun har doim savolni bitta 
xabarda ifodalang. Bo’lib-bo’lib yozishlar vaqtdan 
yutkazishga olib keladi. Ba’zida esa suhbatdoshlaringizning 
asab tolalari kamayishiga sabab bo’lasiz.
Xabar yozayotganda bilmasdan yuborib qo’ymaslik uchun 
avval Telegramdagi “Saved messages” yoki biron matn 
faylida to’liq yozib olganingiz ham ma’qul.
Assalomu alaykum
Menda savol bor edi
Yordam kerak
CSS ishlamayapti
Assalomu alaykum. Savol bor

edi. CSS kodlarim ishlamayapti,

sababini bilmayapman
24


Savolni to’liq

mazmunda yozing
Savolni shunday so’rang-ki, javob yozmoqchi bo’lgan odam 
“to’liqroq tushuntiring” demasin. Iloji boricha savolni to’liq va 
aniq qilib so’rang.
React ishlamayapti
Assalomu alaykum. Reactda

APIga murojaat qilib olib

kelingan ma’lumotlarni

jadvalda ko’rsatishda mana

bu xatoni ko’rsatyapti...
25


Savolni yuborishdan oldin 
tekshirib oling
Savolni yozgandan so’ng “yuborish” tugmasini bosishga 
shoshilmang. Biron muhim nuqtani yoddan chiqargan yoki 
o’zingizni noqulay holatga qo’yadigan imlo xato qilgan 
bo’lishingiz mumkin. Xabaringizni qayta o’qib chiqing.
26


Avval maqsadni keyin

muammoni ayting
Tasavvur qiling: sahifada bor mahsulotlarni filtrlamoqchisiz. 
Filtr qiymatlarini o’zgartirganingizda natijalar sahifalanishi 
(pagination) yangilanmayapti. Yozgan kodingizdagi 
sahifalashga oid funksiya argumentida xato chiqdi. Shu 
masalani guruhda “funksiya argumentidan foydalanganda X 
xato chiqyapti, nima qilsam bo’ladi” ko’rinishida so’rashingiz 
mumkin.
27


Bu savolga javoban sizga “aynan qaysi funksiyada”, 
“qanday ishlashi kerak edi”, “kutilgan natijadan qanday farq 
qilyapti” ko’rinishida savollar kelishi mumkin. Sababi - 
guruhdagilar sizdagi vaziyat haqidagi to’liq ma’lumotga ega 
emaslar.
Siz koddan nima natijani kutayotganingizni ochiqlasangiz, 
muammoga yechimni tezroq topa olishingiz mumkin 
bo’ladi. Guruhdagilar ham bir savolning o’zida holat haqida 
to’liq ma’lumot olib sizdagi mavjud kodni to’g’rilashni yoki 
undanda oson, puxtaroq kod yozish usulini taklif qilishlari 
mumkin bo’ladi.
28


Hashtag qo’ying
Muhokama guruhlarida odatda odam ko’p bo’ladi. 
Hammaning o’zi qiziqqan mavzusi bor, o’ziga ma’qul 
masalada yozadi. Yuzdan ortiq odam bor guruhda esa xabar 
ko’pligidan yozgan savolingiz xabarlar orasida ko’rinmay 
o’tib ketishi mumkin.
Xabaringizni guruhda ko’p ishlatiladigan heshteg (#) bilan 
to’ldirishingiz esa e’tiborni tortishga yordam bera oladi. 
Masalan, guruh a’zolarida bo’sh vaqt bo’lsa, “biron savol 
bo’lsa, javob berib ketay” deb kirganida #savol bilan 
belgilangan xabarlarga birinchi o’rinda e’tibor qaratishi 
mumkin.
Assalomu alaykum.

JavaScriptda funksiya bilan

ishlayotganimda muammo

chiqyapti. Funksiyaga berilgan

ikkinchi argument qiymat

olmayapti.
Assalomu alaykum.

JavaScriptda funksiya bilan

ishlayotganimda muammo

chiqyapti. Funksiyaga berilgan

ikkinchi argument qiymat

olmayapti.

#savol
29


Guruhlarda #savol heshtegidan tashqari boshqa bir nechta 
ko’p uchraydigan heshteglar bo’lishi mumkin. Texnik 
masalalar uchun #texnik, takliflar uchun #taklif, biron 
shikoyat bo’lsa, #shikoyat ko’rinishidagi heshteglardan 
foydalansangiz bo’ladi.
Mohirdev hamjamiyati va yopiq muhokama guruhlarida ham 
heshteglardan to’g’ri foydalanishingiz biron muammoga 
tezroq e’tibor qaratish yoki savolingizga tezroq javob olishda 
yordam beradi.
30


Kontekst haqida yetarlicha 
ma’lumot bering
Savolni to’liq so’rash uchun, albatta, kontekstga e’tibor 
berish kerak. Sizdagi savol aynan qaysi manba, nechanchi 
bo’lim, qaysi video bilan bog’liqligini savolda ko’rsatib o’tib 
ketishingiz javob beruvchi savolni to’liqroq tushunishiga 
sabab bo’ladi. Qanchalik kengroq yoritib bersangiz, natija 
ijobiy bo’lishi ehtimoli oshadi.
YouTubedan ko’rib dastur tuzayotganingizda xato chiqdimi? 
Videoning xatoga oid qismi vaqtini belgilab linkini ulashing. 
Maqolada taklif qilingan kutubxona ishlamadimi? Maqolaga 
havolani ham savolga qo’shib yuboring.
31


Mohirdevda o’qiyotgan o’quvchilardan savol yoki texnik 
muammo chiqqanida darsning saytdagi tartib raqamini yozib 
xabar yuborishlari kifoya.
Python videosini ko’rdim, 
kodim o’xshamadi
Assalomu alaykum.
3-bo’limdagi 6-video “Python 
funksiyalari” videosini ko’rdim, 
lekin yozgan kodlarim 
ishlamadi

#savol
32


Mas’ul odamni tag qiling
Tag qilish yoki belgilashni bu xabar guruhda mavjud aynan 
ma’lum bir insonga murojaat qilish, deb tushuniladi. Xabar 
yakunida guruhda eng faol yoki ko’p yordam berib boradigan 
odamni belgilab xabar yozsangiz, xabar belgilangan odam 
uchun alohida ajratib ko’rinadi.
Muhim: Ochiq ommaviy guruhlarda biron kimni belgilab 
savol so’rasangiz, bu ular javob berishga majbur ekanligini 
bildirmaydi. Agar javob kelmasa, qayta-qayta belgilamaslikni 
tavsiya qilamiz.
Mohirdevdagi yopiq guruhlarda mentor yoki o’quv bo’limiga 
mas’ullarni belgilab yozsangiz, tezroq yordam qila olamiz.
Assalomu alaykum.

CSS kodlarimdagi positionga

oid qismi ishlamayapti,

sababini topolmayapman
Assalomu alaykum.

CSS kodlarimdagi positionga

oid qismi ishlamayapti,

sababini topolmayapman

@mentor

#savol
33


Muammoga oid (!) kodni 
skrinshot qilib yuboring
Dasturlashda kodga oid masala haqida savol so’raganda 
savolga qo’shimcha kod holatini ham biriktirigan ma’qul. 
Lekin…
Rasmdagi kabi kod suratlarini ko’rganmisiz? Duch kelgan 
masalangizga oid kodni guruhga yuborayotganda telefon 
kamerasida olingan, ekranda telefon va o’zingizning aksingiz 
ko’rinib turgan rasmni yubormang. Hech qachon.
Buning uchun maxsus skrinshot oluvchi dasturlar bor. 
Masalan,
Kodni o'ziga xos stildagisini rasm 
sifatida olish uchun 
xizmati ham bor.
 Lightshot.
Carbon 
34


Endi sarlavhadagi “muammoga oid” iborasiga e’tibor 
qaratsak. Koddagi xatoni topish uchun undagi muammoga 
oid qismnigina skrinshot qilib yuborish kerak.
Saytning mahsulotni savatga qo’shish funksiyasida 
muammo chiqqan bo’lsa, faqat shunga oid kodni to’g’ri topib 
o’shani skrinshot qiling. Mahsulot sahifasining to’liq kodi 
kerak emas.
Muammo aynan qaysi fayldagi qaysi kod sabab kelib 
chiqyapti? Muammo sabab qaysi funksional noto’g’ri 
ishlayapti? Shularni aniqlay olishingiz - yechimni topish 
tomon qo’yilgan katta qadam.
Muammo sababi, unga aloqador aniq bir nuqtani topa 
olyapsizmi, demak dasturchiga kerak bo’lgan bir yaxshi 
qobiliyatingizni rivojlantirolyapsiz.
35


Kodni to’g’ri formatda 
yuboring
Savol so’rashda to’g’ri olingan skrinshot qaysidir darajada 
holatni tushunishga yordam beradi: syntax highlighting, 
tabulyatsiya mavjud, kod o’qishga oson. Lekin afsuski, 
skrinshotdagi kodni ko’chirib olib bo’lmaydi. Kodni ishlatib 
ko’rish uchun qaytadan yozib chiqish kerak.
Kodni Telegram guruh yoki boshqa biron joyga yuborsangiz, 
uni “monospace” yoki “preformatted text” ko’rinishiga 
keltirib oling. Kodni o’qish va ko’chirish oson bo’ladi.
Demak, muammoning yechimi uchun kodni yuborish kerak 
bo’lsa, mana bu kombo kerak bo’ladi
yoki 
da olingan skrinsho
“Preformatted” ko’rinishga keltirilgan kod
Lightshot
Carbon
Lekin bundan ham yaxshiroq kombo bor. U haqida keyingi 
bo’limda ma’lumot berganmiz.
36


“Sandbox”lardan 
foydalaning
Kodni skrinshotda yuborganingiz yaxshi. Undagi bir 
kamchilik - skrinshotdagi kodni tahrirlash imkoni yo’q. Kodni 
“preformatted” holatida yuborsangiz ham uni fayl ochib 
ko’chirib o’tkazish, zarurat bo’lganda tahrirlay olish va 
loyihani ishga tushirish kerak. Bu yana qo’shimcha ish.
Boshqalar sizdagi vaziyatni ham to’liq tushunib, ham o’zlari 
aniq bir taklif bera olishlari uchun onlayn interfaol kod 
muharrirlaridan foydalanganingiz yaxshi. Ularni ingliz tilida 
“sandbox”, ya’ni qum o’yingohi deyishadi.
37


Nega aynan “sandbox”? Qum o’yingohida xohlagan 
narsangizni yasab ko’rishingiz mumkin. U joyda yasagan 
narsalaringizni o’zgartirsangiz, buzib tashlasangiz ham 
buning atrof-muhitga ta’siri bo’lmaydi.
Huddi shu usulda kod yozish uchun “sandbox”larda ham 
ixtiyoriy bir loyihani tuzib uni boshqalar bilan ulashish 
mumkin. Muammo sababini topish uchun xohlagan odam 
loyihani o’ziga nusxalab kodni erkin o’zgartira oladi, ishga 
tushirishda qiynalmaydi. Interfaol holatda ulashilgan 
loyihadagi muammo sababini topish osonlashadi.
Turli dasturlash muhitlari uchun oʻziga mos "sandbox"lar 
mavjud
(pen.new manzili bilan yangi pen ochish 
mumkin
Codepen
Codesandbo
Repl.i
JSfiddle
Eslatma: Loyihangizdagi hamma bor kodni emas, 
muammoga aloqador bo’lgan joylarnigina “sandbox”ga 
joylang. Imkoni bo’lsa, muammoli qismining izolyatsiya 
qilingan variantini. Muammo JavaScriptdami? CSSdagi 
stillar kerak bo’lmasligi mumkin.
38


Yordam emas maslahat 
so’rang
Muammo yechimini topish siz uchun muhim, boshqalarga 
emas. Shuning uchun biron xatoning sababini topishdagi 
yordamdan so’ng u kodni siz uchun yozib berishlarini, 
kompyuteringizga onlayn bog’lanib to’g’rilab berishlarini 
kutmang. Bu kabi holat juda noyob va shu ko’rinishda 
yordam bergan odam o’z himmati sabab shunday qilgan 
bo’ladi. Unga odatlanib qolmang.
Kodni o’zingiz to’g’rilashingiz mavzularni yaxshiroq eslab 
qolishingizga yordam beradi.
39


Toksik bo’lmang
“Toxic” ingliz tilidan zaharli yoki zararli, yoqimsiz ma’nosida 
tarjima qilinadi. Yuzma-yuz muloqotda odam so’zlarni 
tanlab-tanlab, suhbatdoshining hurmatini qilib muomalada 
bo’ladi. Onlayn muloqotda esa suhbatdosh uzoqda bo’lgani 
uchun ba’zilar muomalada chegaradan chiqadi, boshqalarga 
hurmatsizlik qiladi.
Masalan, dasturlashga yangi bo’lgan biron odam guruhda 
xato gapirib qo’ysa, darhol uni yerga uradi: “o’zi 
o’qiganmisiz”, “adashib qolmaganmisiz”, “kalla qo’ydizu” 
deb piching qilishi, sarkazm yoki mazax ko’rinishidagi rasm, 
GIF bilan muomala qiladi.
40


Siz unday qilmang. Toksik bo’lmang.
Sohaga yangi bo’lganlar tajribasi borlar biladigan ko’p 
narsadan xabardor bo’lmaydilar. Ular muloqotda, savol 
so’rashda xato qiladigan bo’lishsa, yaxshi muomala bilan 
tushuntiring. Izlanayotgan masalalarini hal qilish uchun 
yo’nalish bering, yordam qiling.
Agar sizga toksik muomalada bo’lishsa, eng yaxshi usuli 
e’tibor bermang. Toksik odamlar sizning asabingizni o’ynab 
“maza qilishadi”. Sizning esa kayfiyatingiz buzilgani qoladi.
41


Guruhdoshlarga yordam 
bering
Guruhda biron kim savol bersa va unga javobni bilsangiz, oq 
otdagi qahramon kelib javob yozishini kutmang. O’zingiz 
ham yordam bering.
Bu fikringizni yozma ko’rinishda to’g’ri ifodalash bo’yicha 
tajribangizni oshiradi. Shu bilan birga sohangizdagi 
hamjamiyat (community) ichida hurmatga erishasiz, 
networkingni kuchaytirasiz.
42


Sabrli bo’ling
Yuqoridagi barcha talablarga mos ravishda savol 
berganingizdan so’ng javobni sabr bilan kutish kerak. Qayta-
qayta bir xil savol yuborish yoki yuborilgan savolga javob 
tarzida “?” yuborishdan tiyiling. Har kim o’z vaqtidan kelib 
chiqib javob yozishini inobatga olsak, bu holatda kutish 
kerak bo’ladi.
Mohirdevdagi kurslarimiz muhokama guruhida ish kunlarida 
24 soat ichida javob berishga harakat qilamiz.
43


Javob topilgani haqida 
xabarlang
Guruhda savol berganlar odatda boshqa guruhlarda ham 
shu savolni yuborgan yoki parallel o’zi mustaqil izlanayotgan 
bo’ladi. Savolga javob yozilmagani uchun u savolni hali ham 
ochiq deb bilib unga javob yozishlari ham mumkin. Javob 
yozilganda esa savol egasi “rahmat, javobini topgandim” 
deydi. Javobni yozgan odam vaqti va mehnatini qaysidir 
darajada bekor ketkazgandek holatga tushadi.
Bunday vaziyatning oldini olish uchun savol bergan odam 
javobini topishi bilan o’z savoliga javoban (reply) muammo 
yechimini topganini xabarlashi kerak.
44


“Bo’ldi, javob topildi” deyishning o’zi yetarli emas. Savol 
egasi topilgan yechimni ham guruhda yozib qoldirgani 
ma’qul. Keyinchalik biron kimda shunga o’xshash savol 
chiqqanda shu xabar yordamida muammosini yecha oladi.
45


Rubber duck debugging
Qo’llanma avvalida aytilgan “to'g'ri savol berish javobni 
topishning yarmiga teng” degan gapga qaytamiz. 
Hozirgacha ko’rgan bo’limlaringizda savolni to’g’ri tayyorlab 
javob beruvchi uchun tushunarli bo’lishiga oid tavsiyalar 
berildi. Tavsiyalarga amal qilgan holda savolingizga tezroq 
javob olishingiz mumkin.
Shu bilan birga siz boshqalarning javoblarini kutmasdan 
o’zingiz ham muammoni hal qila olishingiz mumkin. Buning 
uchun “rubber duck debugging”, ya’ni rezina o’rdakcha 
yordamida xatoni topish usulidan foydalana olasiz.
46


Rubber duck debugging nima?
Bu odatda koddagi sintaktik emas mantiqiy xatoni topishda 
qo’l keladigan usul. Bu usulda o’zingizdagi vaziyatni jonli 
odamga emas, balki rezina o’rdakchaga tushuntirasiz. Har 
bir qator kodni o’qib “bu kod falon ishni bajaradi, natijasi 
mana bunday bo’ladi” deb o’rdakka gapirib berasiz. Har bir 
qatordagi koddan nima kutganingiz va natija kutilganidan 
qanday farq qilayotganini aytasiz.
O’qilishidan g’alati holat, to’g’rimi? Lekin bu ishlaydigan usul. 
Sababi esa oddiy. Kod yozganimizda u qanday ishlashi 
kerakligini miyada o’zimizning xulosamiz bo’ladi. Lekin u xato 
bo’lishi mumkin. Masalan, loyihamizdagi biron kod haqida 
“bu kod kino haqidagi fikrlarni olib keladi va davomidan shu 
fikrlarni tartiblab ko’rsatiladi” degan tasavvurimiz bo’ladi. 
Aslida esa biz kodni noto’g’ri yozgan bo’lib chiqishimiz 
mumkin.
Har bir qatorni shoshilmasdan, boshqa odamga (o’rdakka) 
aytib berish davomida e’tibordan qochirgan kodimizdagi 
xatolikni topa olamiz.
Batafsil ma’lumot uchun 
 videosini 
tavsiya qilamiz. 3 daqiqada qisqa-lo’nda tushuntirilgan.
“The Rubber Duck story”
47


Hujjatlashtiring
Uchratgan muammongizga yechim topish jarayonida har bir 
qadamni hujjatlashtirish tavsiya qilinadi.
Yozgan dasturingizdan kutilgan natija qanday edi? Kod 
qanday ishlashi kerak edi
Qanday natija oldingiz? Kutilgan natijadan qanday farq 
qilyapti
Muammoni hal qilish uchun sinab ko’rgan har bir 
usulingiz haqida batafsil ma’lumot
Yechim bo’lishi mumkin bo’lgan kodni qaysi 
manbadan oldingiz
Sinab ko’rgan usulingiz qanday natija berdi?
48


4. Qaysi usul muammoga yechim bo’ldi? Boshqa usullardan 
nimasi bilan farq qildi?
Bu ish birmuncha vaqtingizni oladi, to’g’ri. Lekin uzoq vaqtda 
oladigan foydangiz ko’proq tosh bosishi mumkin
fikrlaringizni tushunarli ko’rinishdagi matnga o’tkazdingi
shunday yoki shunga o’xshash muammoga uchraganda 
qaytadan internetdan qidirmaysi
ishga kirishdagi suhbatda texnik tomondan muammoli 
bo’lgan vaziyat so’ralganda sizda tayyor javob bo’ladi.
Bu izlanishingizni o’zingizning Telegram kanalingiz va/yoki 
sohangizga oid muhokama guruhida yuborishingiz ham 
yanada foydali bo’ladi. Masalaning boshqa, yanada 
samaraliroq yechimini topishingiz mumkin. Hamjamiyat 
uchun foydali ma’lumot qoldirayotgan ham bo’lasiz.
49


So’ngso’z
Bu qo’llanmada yillar davomida yig’ilgan tajribalar asosidagi 
tavsiyalar berildi. Umid qilamizki, tavsiyalarga amal qilish 
bilan dasturlashni o’rganish, dasturchi bo’lib ishlashdagi 
samaradorligingizni sezilarli darajada oshira olasiz.
Aytilganidek bu yerdagi fikrlar tavsiya, buzib bo’lmas qonun 
yoki qoidalar emas. Qaysidir vaziyatlarda tavsiyalarga to’liq 
amal qilish shart bo’lmaydi. Masalan, bir loyihada 
ishlayotgan yoki birga o’rganayotgan yaqinlaringiz guruhida. 
U guruhda biz tavsiya qilgan ba’zi masalalarni qoldirib tursa 
bo’ladi.
Tavsiya qilingan usullarning qaysi birini va qachon tashlab 
o’tish mumkinligini esa vaqt o’tishi, tajriba bilan o’rganasiz.
Bu qo’llanmada yillar davomida yig’ilgan tajribalar asosidagi 
tavsiyalar berildi. Umid qilamizki, tavsiyalarga amal qilish 
bilan dasturlashni o’rganish, dasturchi bo’lib ishlashdagi 
samaradorligingizni sezilarli darajada oshira olasiz.
Aytilganidek bu yerdagi fikrlar tavsiya, buzib bo’lmas qonun 
yoki qoidalar emas. Qaysidir vaziyatlarda tavsiyalarga to’liq 
amal qilish shart bo’lmaydi. Masalan, bir loyihada 
ishlayotgan yoki birga o’rganayotgan yaqinlaringiz guruhida. 
U guruhda biz tavsiya qilgan ba’zi masalalarni qoldirib tursa 
bo’ladi.
Tavsiya qilingan usullarning qaysi birini va qachon tashlab 
o’tish mumkinligini esa vaqt o’tishi, tajriba bilan o’rganasiz.
Dasturlash olamidagi sarguzashingizda omad va zafarlar 
tilaymiz. Qo’llanmadagi fikrlar xayrli va barakali ishlaringizda 
qo’l keladi, deb umid qilamiz.
Bu qo’llanma haqidagi fikr, tavsiya va takliflaringizni 
 intiqlik bilan kutamiz.
mana bu 
so’rovnomada
Hurmat bilan
Mohirdev
50


Copyright 2023
Dasturlash bo’yicha 
savol-javob kodeksi v1.0

Yüklə 11,1 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin