SE Hub

Agen coding

Menyatukan Semuanya

Selamat, Anda telah mempelajari cara bekerja dengan coding agents.

Sekarang Anda tahu cara menggunakan agen untuk memahami codebase, membuat fitur dengan cepat, menemukan dan memperbaiki bug, meninjau kode secara efektif, dan menyesuaikan agen agar sesuai dengan workflow tim Anda.

Contoh end-to-end

Anda baru bergabung dengan tim yang mengelola sebuah platform e-commerce. Anda perlu menambahkan kode diskon ke proses checkout.

Ini adalah situasi yang umum terjadi. Anda perlu menjelajah sebelum membangun, merencanakan sebelum mengimplementasikan, dan memvalidasi sebelum melakukan merge.

Langkah 1: Pahami codebase

Sebelum mengubah apa pun, jelajahi alur checkout. Gunakan agen untuk membangun peta mental.

Saya perlu menambahkan kode diskon ke alur checkout kami. Sebelum saya membuat perubahan apa pun, jelaskan cara kerja alur checkout saat ini. File mana yang terlibat dan bagaimana data mengalir dari keranjang ke pemrosesan pembayaran?

Ajukan pertanyaan lanjutan untuk mengisi kekosongan:

Bagaimana cara kerja perhitungan harga kita di `src/services/PricingService.ts`? Di mana kita menghitung total pesanan, dan di mana diskon akan diterapkan dalam alur tersebut?

Langkah 2: Rencanakan fitur

Sekarang setelah Anda memahami codebase, buat rencana. Beralih ke Plan Mode dan uraikan pekerjaannya.

Contoh rencana yang dihasilkan:

**Discount codes**

*Ikhtisar:* Tambahkan dukungan kode diskon ke proses checkout. Pengguna memasukkan kode, sistem memvalidasinya, dan menerapkan diskon ke total pesanan.

*Pendekatan:*
- Tambahkan DiscountService dengan logika validasi (masa berlaku, batas penggunaan)
- Ubah PricingService.calculateTotal() agar menerima diskon opsional
- Tambahkan input kode diskon ke komponen OrderSummary
- Tambahkan endpoint /api/discount/validate

*Tugas:*
- [ ] Buat migrasi tabel discount_codes
- [ ] Buat DiscountService dengan applyDiscount()
- [ ] Tambahkan langkah diskon ke PricingService.calculateTotal()
- [ ] Tambahkan UI input kode ke komponen OrderSummary
- [ ] Tambahkan route /api/discount/validate
- [ ] Tulis tes untuk semua tipe diskon dan edge case

Tinjau rencananya. Hapus langkah-langkah yang terlalu ambisius untuk iterasi pertama. Fokus pada alur inti, lalu klik Build.

Langkah 3: Debug edge case yang gagal

Setelah proses build, ada satu pengujian yang terus gagal: menumpuk diskon persentase dengan diskon jumlah tetap memberikan hasil berbeda bergantung pada urutan penerapannya.

Minta agen menyelidiki akar masalahnya:

Tes penumpukan diskon gagal. Diskon yang sama menghasilkan total berbeda bergantung pada urutan penerapannya. Instrumentasikan `src/services/DiscountService.ts`. Tunjukkan nilai sebelum dan sesudah pada setiap langkah.

Ini menerapkan prinsip debugging: jangan hanya memperbaiki gejalanya, temukan akar masalahnya.

Langkah 4: Tinjau dan uji

Sebelum melakukan push, jalankan self-review:

Tinjau semua perubahan yang sudah saya buat untuk fitur kode diskon. Periksa bug, penanganan error yang hilang, dan apa pun yang tidak konsisten dengan pola yang ada.

Langkah 5: Tulis aturan

Selama mempelajari fitur ini, Anda menemukan bahwa perhitungan diskon harus selalu menerapkan diskon persentase sebelum diskon jumlah tetap. Dokumentasikan ini sebagai aturan:

# Aturan harga
Terapkan diskon persentase sebelum diskon jumlah tetap
Total pesanan tidak boleh kurang dari $0
Lihat src/services/PricingService.ts untuk pola perhitungan yang baku

Ini melengkapi loop. Anda menjelajah, merencanakan, membangun, menguji, melakukan debug, meninjau, dan menangkap pengetahuan kembali ke dalam rules.

Siklus ini—jelajah, rencanakan, bangun, uji, debug, tinjau, dan tangkap pengetahuan—adalah cara bekerja efektif dengan coding agents.

Terus membangun

Cara terbaik untuk belajar adalah mengambil apa yang sudah kamu pelajari di sini dan menerapkannya.

Tools dan model berkembang sangat cepat, dan praktik-praktik spesifik akan terus berevolusi seiring waktu. Namun, prinsip-prinsip dasarnya—memahami konteks, mendelegasikan dengan jelas, memvalidasi hasilnya—akan tetap relevan.

Dengan terus mendorong batas kemampuan coding agent, kamu akan mendapatkan manfaat maksimal dari tools ini.

Anda telah menyelesaikan bab ini

Kembali ke awal