Dasturlash tili, funksiya talablari, chegara holatlar va debug uchun to'liq kod/xato tavsifini aniq ko'rsatib, sifatli kod olishni o'rganasiz.
Kod yozish, tushuntirish, tahrirlash va debug qilish — LLM'lardan eng ko'p so'raladigan vazifalardan biri. Bu bobda kodlash bo'yicha promptlarni qanday samarali tuzish ko'rib chiqiladi.
Kodlash vazifalari uchun prompting — dasturlash tili, kutilgan funksionallik, kod uslubi va cheklovlarni aniq belgilab, modeldan sifatli, ishlaydigan kod olish san'ati. Bu barcha oldingi bo'limlarda ko'rilgan tamoyillarning (aniqlik, format, misollar) dasturlashga qo'llanilishi.
Kod — juda aniq va qat'iy qoidalarga ega mahsulot: bitta xato belgi butun dasturni ishlamay qo'yishi mumkin. Shuning uchun kodlash promptlarida aniqlik va to'liqlik ayniqsa muhim — noaniq so'rov ko'pincha noto'g'ri yoki chala kod bilan yakunlanadi.
code.textTEXTTil: PythonVazifa: Berilgan ro'yxatdagi butun sonlarni juft va toq guruhlarga ajratuvchi funksiya yoz.Talablar:- Funksiya nomi: split_even_odd- Kirish: butun sonlar ro'yxati- Chiqish: (juft_sonlar, toq_sonlar) kortej- Bo'sh ro'yxat berilsa, ikkala bo'sh ro'yxatni qaytar- Kod ichida qisqa izoh (comment) bo'lsin
Natija tavsifi: Til, aniq funksiya nomi, kirish/chiqish formati va chegara holat (bo'sh ro'yxat) ko'rsatilgani uchun, model to'g'ridan-to'g'ri ishlatishga tayyor, aniq talablarga mos kod yozadi — bu shunchaki "juft-toq ajratuvchi funksiya yoz" deyishga qaraganda ancha ishonchli natija beradi.
⚠️ Common Mistake: Dasturlash tilini yoki kutubxona/freymvork versiyasini ko'rsatmaslik. Bu holatda model noto'g'ri til yoki eskirgan/mos kelmaydigan sintaksisdan foydalanishi mumkin, ayniqsa loyihada aniq versiya yoki uslub talab qilinganda.
Task: Berilgan matndan takrorlangan so'zlarni topuvchi Python funksiyasi yozish uchun til, funksiya nomi, kirish/chiqish formatini aniq ko'rsatuvchi prompt yozing.
Task: Mavjud (xatoli) kod bo'lagini, aniq xato xabari va kutilgan natija bilan birga berib, uni debug qilishni so'rovchi prompt yozing.
Task: Murakkab funksiyani (masalan, REST API endpoint) yozish uchun til, freymvork versiyasi, kirish/chiqish formati, xatolarni boshqarish talablari va kod uslubi (masalan, TypeScript tiplari) bilan to'liq prompt loyihalashtiring.
code.textTEXTBu kodni tuzat: [faqat bitta funksiya nomi, "calculateTotal", boshqa hech qanday kontekst yo'q]
Your Task: Bu debug so'rovi nega yetarli emas — tushuntiring va tuzating.
<details> <summary>Solution</summary> Muammo: Faqat funksiya nomi berilgan, funksiyaning to'liq kodi, qaysi til ekani, qanday xato yuz berayotgani va kutilgan natija haqida hech qanday ma'lumot yo'q. Model bu holatda deyarli hech narsani tuzata olmaydi, chunki muammoning o'zi noma'lum.Tuzatilgan variant:
</details>code.textTEXTTil: JavaScriptKod:function calculateTotal(items) {return items.reduce((sum, item) => sum + item.price, 0);}Muammo: Agar items massividagi biror elementda "price" maydoni bo'lmasa, funksiya NaN qaytaradi.Talab: price maydoni yo'q elementlarni e'tiborsiz qoldiradigan (0 deb hisoblaydigan) tuzatilgan versiyani yoz.
Kodlash vazifalarida aniq til, funksiya talablari, kirish/chiqish formati va chegara holatlarni ko'rsatish sifatli kod olish uchun zarur. Debug qilishda esa to'liq kod, aniq xato tavsifi va kutilgan natijani berish, hamda o'zgarishlarni izohlab berishni so'rash — muvaffaqiyatli tuzatishning kaliti.
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: