Meminta AI Menerangkan Kod
15 minitPertengahanHTML · CSS · JS
Dalam pelajaran ini
- ▸Minta penerangan yang cukup spesifik untuk disemak
- ▸Tukar setiap dakwaan dalam penerangan kepada eksperimen ringkas
- ▸Baiki kod — dan komen — bila bukti tidak sepadan dengan penerangan
Idea utama
Penerangan ialah satu set dakwaan. Setiap dakwaan ("memulangkan 0 untuk array kosong") ialah eksperimen kecil yang boleh dijalankan dalam beberapa saat. Jalankan sebelum mempercayainya.
Meminta pembantu AI menerangkan kod ialah antara cara terbaik untuk memahami codebase dengan cepat. Tetapi ia juga berisiko secara senyap: penerangan yang salah tidak menyebabkan apa-apa crash. Ia cuma menanam kepercayaan yang salah, yang anda akan bina di atasnya nanti.
Minta penerangan yang boleh disemak
Explain what average() and isWeekend() in script.js do.
- Go line by line and say what each line does.
- What do they return for normal input, for an empty array,
and for a Sunday?
- List any assumptions (types, ranges, time zones).
- If you're not sure how a built-in behaves, say so.Bertanya tentang edge case dan andaian menukar ringkasan kabur kepada dakwaan yang boleh diuji.
Kemudian sahkan setiap dakwaan
- Ramal, kemudian jalankan. Tulis apa yang anda jangka, kemudian
console.loghasil sebenar. Ketidaksepadanan ialah maklumat. - Cuba di hujung-hujung. Array kosong, sifar, nombor negatif, string yang sangat panjang, hari Ahad, tengah malam.
- Semak dakwaan tentang fungsi terbina dalam dokumentasi sebenar seperti MDN. "
getDay()memulangkan 1–7" ialah jenis fakta yang bunyinya betul tetapi salah. - Terangkan semula. Kalau anda tak boleh menerangkan satu baris dengan perkataan sendiri, anda belum mengesahkannya.
Apa yang dikatakan pembantu AI
average([]) safely returns 0.
Results are rounded to 2 decimal places.Apa yang ditunjukkan bila dijalankan
console.log(average([])); // NaN
console.log(average([1, 2, 2])); // 2 (not 1.67)Dua baris console.log menyangkal dua dakwaan. Penerangan itu menggambarkan apa yang kod sepatutnya buat, bukan apa yang ia buat.
Penerangan selalunya menggambarkan niat kod — namanya, komennya — bukan tingkah lakunya. Bila niat dan tingkah laku tidak sepadan, anda telah jumpa sama ada bug atau komen yang mengelirukan. Kedua-duanya perlu dibaiki.
Jangan ubah function lagi. Guna console.log untuk mengetahui apa yang kod asal sebenarnya buat, dan isi objek observed dalam script.js:
- averageOfScores — nilai average(scores)
- averageOfEmpty — nilai average([])
- sundayGetDay — nilai new Date(2026, 9, 18).getDay()
Taip nilai yang anda lihat (nombor, atau NaN), bukan ungkapannya.
Semakan
- Rekod purata markah yang sebenar
- Rekod apa yang berlaku dengan array kosong
- Rekod getDay() untuk hari Ahad
Uji kefahaman
Apa yang anda pelajari
- ✓Minta penerangan yang merangkumi edge case dan andaian — ia menjadi dakwaan yang boleh disemak.
- ✓Sahkan setiap dakwaan: ramal, jalankan, bandingkan. Semak tingkah laku fungsi terbina dalam dokumentasi sebenar.
- ✓Bila penerangan dan tingkah laku tidak sepadan, baiki kod atau komen — jangan tinggalkan pembohongan.
Output konsol daripada kod anda akan dipaparkan di sini.