SE Hub

Agen coding

Menemukan dan Memperbaiki Bug

Saat agen coding menulis lebih banyak kode, engineer menghabiskan lebih banyak waktu untuk meninjau dan memvalidasi daripada menulis. Menemukan dan memperbaiki bug menjadi keterampilan yang semakin penting.

Dasar-dasar debugging

Debugging yang baik mengikuti prinsip yang sama, baik dikerjakan manusia maupun agen:

  1. Buat reproduksi yang andal. Jika Anda tidak bisa mereproduksi bug, Anda tidak bisa memverifikasi perbaikannya.
  2. Sederhanakan ke kasus minimal. Singkirkan semua yang tidak berkaitan dengan bug.
  3. Isolasi variabel. Ubah satu hal pada satu waktu.
  4. Buat hipotesis yang spesifik. “Bug-nya mungkin ada di calculateTotal() saat diskon diterapkan” adalah hipotesis yang bisa diuji.
  5. Instrumentasikan kode Anda. Tambahkan logging pada input dan output di bagian yang Anda curigai bermasalah.
  6. Cegah regresi dengan tes. Setelah Anda menemukan dan memperbaiki bug, tulis tes yang akan menangkapnya.

Dua pendekatan debugging

Menyelesaikan error sederhana dengan cepat

Untuk bug dengan pesan error yang jelas atau penyebab yang langsung terlihat, agen sering kali dapat memperbaikinya dengan cepat.

This test is failing:

TypeError: Cannot read properties of undefined (reading 'profile')
at getProfile (src/services/UserService.ts:45)
at UserController.show (src/controllers/UserController.ts:23)

The error happens when a user created before we added the profile onboarding
flow tries to view their profile. Fix the error.

Pendekatan ini bekerja dengan baik ketika penyebabnya terlihat di pesan error. Agen dapat membaca stack trace, memahami apa yang salah, dan mengusulkan perbaikan.

Debug Mode: bukti lebih dulu

Untuk bug yang lebih rumit, gunakan pendekatan yang berbeda: alih-alih menebak perbaikannya, kumpulkan bukti terlebih dulu.

Ikuti lima langkah ini, yang mencerminkan dasar-dasar debugging:

  1. Hasilkan hipotesis tentang apa yang mungkin salah
  2. Instrumentasikan kode Anda dengan logging yang terarah
  3. Reproduksi bug sambil mengumpulkan data
  4. Analisis log untuk mengidentifikasi akar masalah
  5. Buat perbaikan yang terarah berdasarkan bukti

Selanjutnya

Sekarang setelah Anda memahami debugging dan bagaimana agen pengodean dapat mempercepat investigasi Anda, mari kita bahas cara memvalidasi pekerjaan tersebut—code review, testing, dan memastikan kode Anda siap untuk produksi.

Anda telah menyelesaikan bab ini

Terus belajar