23 poin oleh GN⁺ 2025-06-06 | Belum ada komentar. | Bagikan ke WhatsApp
  • Asisten coding AI tidak bisa mengetahui niat proyek dengan sendirinya, sehingga kualitas hasil sangat bergantung pada seberapa baik developer memberikan konteks, tujuan, dan contoh
  • Dalam debugging, alih-alih hanya melempar kode dan error, sebaiknya sertakan perilaku yang diharapkan, perilaku aktual, dan lingkungan eksekusi, lalu persempit cakupan masalah dengan pelacakan per baris atau contoh reproduksi minimal
  • Untuk refactoring dan optimasi, jangan hanya meminta “dibuat lebih baik”, tetapi jelaskan dengan tegas kriteria keberhasilan seperti menghapus duplikasi, pemrosesan paralel, mempertahankan penanganan error, atau batasan versi
  • Implementasi fitur baru lebih aman jika tidak diserahkan sekaligus, melainkan dibagi menjadi langkah-langkah kecil seperti perencanaan, kerangka, manajemen state, integrasi API, dan edge case untuk ditinjau lalu diperluas
  • Pertanyaan yang ambigu, permintaan yang berlebihan, dump kode tanpa pertanyaan, dan referensi yang tidak jelas akan membuat hasil goyah; AI sebaiknya diperlakukan bukan sebagai generator sekali pakai, melainkan pair programmer interaktif yang iteratif

Prinsip dasar untuk menggunakan asisten coding AI dengan baik

  • Asisten coding AI dapat membantu dari autocomplete fungsi, saran perbaikan bug, hingga pembuatan modul atau MVP, tetapi niat spesifik proyek bergantung pada informasi yang diberikan pengguna
  • Prompt yang baik memperlakukan AI seperti “rekan kolaborasi yang memahami secara harfiah”, serta mengarahkan hasil dan format yang diinginkan dengan jelas
  • Prinsip dasarnya sebagai berikut
    • Berikan konteks yang kaya: sertakan bahasa, framework, library, fungsi atau potongan kode terkait, pesan error yang tepat, dan perilaku yang diharapkan
    • Perjelas tujuan: alih-alih “kenapa ini tidak jalan?”, persempit pertanyaan seperti “mengapa fungsi JavaScript ini mengembalikan undefined alih-alih nilai yang diharapkan, dan bagaimana cara memperbaikinya”
    • Pecah tugas yang kompleks: jangan meminta fitur besar sekaligus; lakukan secara berurutan seperti membuat kerangka komponen React, menambahkan manajemen state, lalu mengintegrasikan pemanggilan API
    • Berikan contoh input/output: contoh seperti input [3,1,4] harus mengembalikan [1,3,4] membantu mengurangi ambiguitas kebutuhan
    • Tetapkan peran: memberi peran seperti “senior React developer”, “JavaScript performance expert”, atau “code reviewer” dapat menyesuaikan kedalaman dan gaya jawaban
    • Iterasi dan revisi: jika jawaban pertama belum tepat, arahkan lewat permintaan lanjutan seperti menggunakan loop alih-alih rekursi, memperbaiki nama variabel, atau menambahkan komentar
    • Jaga kejelasan kode: nama fungsi dan variabel yang bermakna, format yang konsisten, komentar, dan docstring membantu AI memahami maksud kode

Pola prompt untuk debugging

  • Permintaan debugging sebaiknya memuat apa yang seharusnya dilakukan kode, apa yang sebenarnya salah, dan error apa yang muncul
  • Prompt debugging yang baik biasanya mencakup informasi berikut
    • bahasa yang digunakan dan lingkungan eksekusi
    • kode yang bermasalah
    • pesan error yang tepat atau output yang salah
    • output yang diharapkan
    • contoh input
    • metode yang sudah dicoba
  • Bug logika yang kompleks bisa ditangani dengan meminta AI melakukan pelacakan eksekusi per baris agar perubahan state dapat diikuti
    • Contoh: “lacak bagaimana nilai total berubah di setiap langkah dalam fungsi ini, dan temukan di mana akumulasi menjadi salah”
  • Meski codebase besar, jika Anda bisa membuat potongan kode kecil yang mereproduksi bug, lebih baik sajikan itu sebagai contoh reproduksi minimal
  • Jika jawaban pertama hanya sebagian berguna, lanjutkan dengan pertanyaan seperti “tunjukkan kode yang sudah diperbaiki” atau “jelaskan mengapa perubahan ini menyelesaikan masalah”

Contoh debugging: pertanyaan ambigu dan pertanyaan yang diperbaiki

  • Kode contoh adalah fungsi Node.js/JavaScript mapUsersById(users) yang bertujuan mengubah array pengguna menjadi objek berbasis ID
  • Bug-nya adalah `for (let i = 0; i

Belum ada komentar.

Belum ada komentar.