Cheat-Sheet: AI Kodini Review Qilish Cheklisti
Modul 2, Dars 2.3 uchun material. AI yozgan HAR BIR kod uchun.
6 nuqtali cheklist
- 1. Ishlaydimi? — happy path'ni rostdan ishga tushirib ko‘rdim (ko‘z bilan emas!)
- 2. Edge case'lar — bo‘sh string,
null/undefined, 0, manfiy son, katta hajm, unicode/emoji, parallel so‘rov: "bu kod nima bilan sindiriladi?" - 3. Xavfsizlik — foydalanuvchi inputi SQL/shell/eval'ga qo‘shilmagan; sirlar kodda emas,
.envda - 4. Hallucination — har import
package.jsonda bor; har metod hujjatda bor - 5. Uslubga moslik — naming, qatlamlar (config/handlers/services), xato ushlash loyiha uslubida
- 6. Ortiqchalik — ishlatilmaydigan funksiya, keraksiz abstraktsiya, "kelajak uchun" kod o‘chirildi
Test-first workflow (5 qadam)
- Talabni yozing (CRAFT: Context + Action).
- AI'ga avval testlarni yozdiring: "Hali kod yozma. Shu talab uchun testlar: happy path + 4 edge case."
- Testlarni SIZ review qilasiz va kamida 1 ta o‘z "yovuz" case'ingizni qo‘shasiz. ← eng muhim qadam
- AI'ga kodni yozdiring: "Shu testlarni o‘tadigan minimal kod."
- Testlar yiqilsa: "Testlar qat’iy — kodni tuzat, testni emas."
"O‘ziga o‘zi imtihon" muammosi
AI bitta suhbatda kod yozib, keyin o‘shanga test yozsa — u kodini testlaydi, talabni emas (xato bo‘lsa, test o‘sha xatoni qonuniylashtiradi).
Himoya:
- Har doim test → kod tartibida (teskarisi emas).
- Testlarni alohida suhbatda yozdiring — "test yozuvchi" kod muallifini bilmasin.
- Har to‘plamga o‘z edge case'ingizni qo‘shing.
Qizil bayroqlar (darhol to‘xtang)
- Kod birinchi urinishda ishlamadi, AI "tuzatdim" dedi — qaytadan to‘liq review qiling (yamoq ustiga yamoq bo‘lyapti).
- AI siz so‘ramagan katta refactoring qilib yubordi.
- Notanish paket import qilingan — avval npm'da bor-yo‘qligini va yulduzlarini tekshiring.
catchbloki bo‘sh yoki faqatconsole.log— xato "yutilib" ketyapti.
Oltin qoidalar
Cheklist — ko‘z uchun. Testlar — mashina uchun. Ikkalasi birga — professional himoya.
Testni talab yozadi, kod emas.
AI yozadi — siz javob berasiz.