Tinjau kode yang dihasilkan AI
SelesaiPeriksa perubahan yang sebenarnya, batas kepercayaan, dan buktinya sebelum menerimanya.
Diterbitkan oleh TaigaCara kami menulis
Periksa pemahaman AndaEndpoint memeriksa bahwa pengguna telah masuk, lalu mengambil data berdasarkan ID dari permintaan. Apa yang harus diverifikasi?Kerjakan latihan
Hal yang akan dipelajari
- Tinjau perilaku dan kewenangan sebelum gaya kode.
- Identifikasi pemeriksaan otorisasi yang hilang dalam contoh kecil.
- Bedakan ringkasan yang dihasilkan dari bukti terverifikasi.
Baca persyaratan sebelum ringkasan
Mulai dari perilaku yang diminta dan kriteria penerimaan. Lalu periksa diff yang sebenarnya. Ringkasan agen dapat membantu navigasi, tetapi mungkin melewatkan perubahan atau menjelaskan pemeriksaan secara tidak akurat.
Konfirmasikan branch dan commit yang ditinjau. Periksa perubahan konfigurasi, dependensi, infrastruktur, dan pengujian serta kode aplikasi. Fitur kecil yang terlihat dapat mencakup perubahan besar pada izin atau perilaku deployment.
Tinjau perilaku dengan dampak terbesar terlebih dahulu. Format dan penamaan penting, tetapi jangan sampai mengalihkan perhatian dari batas data yang hilang.
Telusuri identitas hingga sumber daya
Pertimbangkan endpoint fiktif yang belum lengkap ini. Contoh menggambarkan masalah peninjauan; ini bukan kode produksi.
async function getInvoice(request) {
const user = await requireSignedInUser(request);
return database.invoice.findById(request.params.id);
}
Fungsi memperoleh pengguna yang terautentikasi. Fungsi tidak menunjukkan keputusan otorisasi untuk invoice. Peninjau harus memeriksa apakah lapisan lain menegakkan keputusan tersebut. Nilai pengguna yang tidak digunakan merupakan alasan untuk menyelidiki, bukan bukti tersendiri adanya cacat yang dapat dieksploitasi.
Telusuri permintaan melalui sistem yang sebenarnya. Identifikasi pengguna dan organisasi yang tepercaya. Periksa cara kueri membatasi akses ke data yang diminta. Periksa perilaku error dan pengujian untuk permintaan yang dilarang.
Jangan berasumsi bahwa tombol tersembunyi melindungi API. Pemanggil dapat mengirim permintaan tanpa menggunakan antarmuka. Jangan berasumsi bahwa ID data yang valid memberi hak akses.
Tanyakan bukti yang dapat menolak perubahan
Pengujian yang lulus mungkin menggunakan fixture administrator atau otorisasi yang di-mock. Periksa apakah pengujian menguji batas yang penting. Tambahkan kasus dengan organisasi berbeda dan jalur otorisasi nyata jika sesuai.
Untuk perubahan antarmuka pengguna, periksa hasil yang dirender. Periksa penggunaan keyboard, kondisi kosong, perilaku pemuatan, dan error. Pemeriksaan tipe tidak membuktikan bahwa dialog dapat digunakan dengan keyboard.
Untuk perubahan dependensi, verifikasi alasan kebutuhannya. Tinjau versi, lisensi, dan temuan keamanan. Jangan terima upgrade yang tidak terkait hanya karena agen menghasilkannya selama tugas.
Jaga peninjauan tetap independen
Model kedua dapat mengidentifikasi masalah yang berguna. Model juga dapat mengulang asumsi dari implementasi. Berikan persyaratan dan diff kepada peninjau. Hindari memberi tahu bahwa perubahan sudah benar.
Wajibkan temuan mengidentifikasi jalur kegagalan konkret dan kode yang relevan. Perlakukan peringatan tanpa dukungan sebagai pertanyaan untuk diselidiki. Perlakukan persetujuan yang yakin sebagai pendapat lain sampai klaim penting memiliki bukti.
Peninjauan manusia tetap merupakan keputusan tentang tanggung jawab. Peninjau harus cukup memahami perubahan untuk menjelaskan perilaku, risiko, dan verifikasinya. Jika diff terlalu besar, kurangi cakupan atau bagi menjadi perubahan yang dapat ditinjau.
Selesaikan peninjauan pada revisi akhir
Setelah perbaikan, jalankan ulang pemeriksaan yang terdampak. Periksa apakah perbaikan menimbulkan masalah baru. Pastikan peninjauan wajib berlaku untuk revisi akhir sesuai kebijakan repositori.
Tulis keputusan penerimaan berdasarkan perilaku dan bukti. Catat keterbatasan yang tersisa beserta penanggung jawab dan tindakan berikutnya. Jangan mengubah masalah yang belum terselesaikan menjadi klaim bahwa semua pemeriksaan lulus.
Gunakan latihan peninjauan kode untuk berlatih mengidentifikasi keputusan yang hilang sebelum memeriksa perubahan nyata.
Kerjakan latihan
Buka latihan peninjauan kode dalam lab praktik. Identifikasi pelaku, sumber daya yang diminta, dan batas organisasi yang tepercaya. Lalu periksa PR kecil yang nyata dengan metode yang sama. Gunakan hanya kode yang boleh Anda tinjau.
Unduh lembar kerja (Markdown)Menonaktifkan pilihan ini menghapus seluruh kemajuan yang tersimpan dalam browser.
Kemajuan tetap tersimpan dalam browser ini. Tanpa akun atau pelacakan.