Membuat perintah efektif untuk GitHub Copilot
Prompt adalah instruksi bahasa alami yang memberi tahu GitHub Copilot apa yang Anda ingin ia lakukan. Perintah dapat digunakan untuk mengajukan pertanyaan, mengkomunikasikan permintaan, atau menjelaskan tugas.
Misalnya, perintah berikut mewakili pertanyaan, permintaan, dan deskripsi tugas.
Question: How do I create a button that submits a form?
Request: Add a button that opens a modal dialog. The button should be blue with rounded corners.
Task: Build a product page that displays a product title, product image, product description, and price. Product information should be fetched from the attached ProductsList.json file. The price should be formatted as currency. The page should also include a button to add the product to the cart.
Kualitas permintaan Anda secara langsung memengaruhi kualitas respons GitHub Copilot.
Apa yang membuat prompt yang baik?
Membuat prompt berkualitas tinggi sangat penting untuk mendapatkan nilai maksimal dari GitHub Copilot. Strategi berikut akan membantu Anda membuat perintah yang menghasilkan respons yang lebih akurat, relevan, dan berguna.
Mulai umum, lalu dapatkan spesifik
Saat menulis permintaan untuk Copilot, mulailah dengan deskripsi luas tentang tujuan atau skenario Anda, lalu berikan persyaratan khusus. Pendekatan ini memberi Copilot konteks yang diperlukan sambil memastikan kebutuhan terperinci Anda ditangani.
Example:
Write a function that tells me if a number is prime.
The function should take an integer and return true if the integer is prime.
The function should error if the input is not a positive integer.
Memberikan contoh konkret
Contoh-contoh adalah salah satu cara paling efektif untuk mengomunikasikan niat Anda kepada Copilot. Anda dapat memberikan contoh data input, output yang diharapkan, dan bahkan contoh implementasi untuk memandu pemahaman AI.
Example:
Write a function that finds all dates in a string and returns them in an array. Dates can be formatted like:
- 05/02/24
- 05/02/2024
- 5/2/24
- 5/2/2024
- 05-02-24
- 05-02-2024
- 5-2-24
- 5-2-2024
Example usage:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Expected return: ["11/14/2023", "12-1-23"]
Memecah tugas kompleks menjadi langkah-langkah yang lebih sederhana
Saat menghadapi tugas yang kompleks atau besar, menguraikannya menjadi komponen yang lebih kecil dan dapat dikelola. Pendekatan ini mengarah pada hasil yang lebih baik dan membuatnya lebih mudah untuk men-debug dan menyempurnakan potongan-potongan individu.
Contoh: Alih-alih meminta Copilot untuk menghasilkan teka-teki pencarian kata lengkap, uraikan:
Write a function to generate a 10 by 10 grid of lettersWrite a function to find all words in a grid of letters, given a list of valid wordsWrite a function that uses the previous functions to generate a 10 by 10 grid containing at least 10 wordsUpdate the previous function to print the grid and 10 random words from the grid
Menghilangkan ambiguitas
Hindari referensi yang tidak jelas dan istilah ambigu yang dapat ditafsirkan dengan berbagai cara. Jadilah eksplisit tentang apa yang Anda maksud dan apa yang Anda inginkan untuk dilakukan Copilot.
Contoh yang buruk:
- "Apa yang dilakukan ini?" (tidak jelas apa yang "ini" mengacu pada).
- "Perbaiki bug" (tidak menentukan bug mana atau cara memperbaikinya).
Contoh yang lebih baik:
- "Apa fungsi createUser lakukan?"
- "Apa yang dilakukan kode dalam respons terakhir Anda?"
- "Perbaiki kesalahan validasi di bidang input email."
Pertimbangan pustaka:
- Jika menggunakan pustaka yang tidak biasa, jelaskan tujuannya.
- Untuk pustaka tertentu, sertakan pernyataan impor atau tentukan pustaka mana yang ingin Anda gunakan.
Berikan konteks yang relevan
Bantuan Copilot memahami struktur dan niat proyek Anda dengan mengelola lingkungan pengembangan Anda secara efektif.
Di IDE Anda:
- Buka file yang relevan dan tutup file yang tidak terkait.
- Sorot bagian kode tertentu yang Anda inginkan untuk referensi Copilot.
- Gunakan peserta obrolan seperti
@workspacedi Visual Studio Code atau@projectdi IDE JetBrains.
Di Obrolan Salinan:
- Mereferensikan file atau blok kode tertentu.
- Lampirkan dokumentasi atau spesifikasi yang relevan.
- Gunakan jalur file dan nama fungsi yang jelas.
Mengulangi dan memperbaiki
Jangan mengharapkan hasil yang sempurna pada percobaan pertama. Copilot bekerja paling baik saat Anda terlibat dalam percakapan iteratif, menyempurnakan permintaan Anda dari respons yang Anda terima.
Strategi untuk perulangan:
- Jika menggunakan saran in-line, hapus dan coba lagi dengan prompt yang dimodifikasi.
- Di Copilot Chat, rujuk respons sebelumnya dan minta modifikasi tertentu.
- Bangun solusi parsial dengan meminta peningkatan bertahap.
Mempertahankan riwayat percakapan yang relevan
Copilot Chat menggunakan riwayat percakapan untuk memahami konteks, jadi kelola riwayat ini secara strategis.
Praktik terbaik:
- Mulai thread baru untuk tugas atau proyek yang berbeda.
- Hapus permintaan yang tidak relevan atau tidak berhasil yang mungkin membingungkan respons di masa mendatang.
- Jaga agar percakapan tetap fokus pada fungsionalitas terkait.
Ikuti praktik pengkodan yang baik
Kualitas basis kode yang ada memengaruhi kemampuan Copilot untuk menghasilkan saran yang sesuai. Pertahankan standar tinggi dalam kode Anda untuk mendapatkan bantuan AI yang lebih baik.
Faktor kualitas kode:
- Gunakan gaya dan pola kode yang konsisten.
- Pilih nama deskriptif untuk variabel dan fungsi.
- Tambahkan komentar yang bermakna untuk menjelaskan logika kompleks.
- Menyusun kode menjadi komponen yang modular dan memiliki cakupan yang baik.
- Sertakan pengujian unit komprehensif.
Note
Anda dapat meminta Copilot untuk membantu meningkatkan kualitas kode Anda dengan meminta komentar, merefaktor saran, atau memecah fungsi besar menjadi potongan yang lebih kecil dan lebih mudah dikelola.
Petunjuk yang baik adalah:
- Jelaskan: Jelaskan dengan tepat apa yang Anda inginkan.
- Spesifik: Menyertakan detail tata letak, perilaku, atau gaya.
- Kontekstual: Mereferensikan kode atau struktur yang ada.
Iterasi pada perintah
Jika respons awal GitHub Copilot tidak selaras dengan harapan Anda, Anda mungkin perlu melakukan iterasi pada permintaan Anda. Pertimbangkan strategi ini:
- Edit perintah agar lebih spesifik.
- Tambahkan konteks ke obrolan yang mengklarifikasi tujuan atau persyaratan Anda.
- Gunakan Obrolan Copilot untuk mengajukan pertanyaan tindak lanjut yang dibuat berdasarkan respons sebelumnya.
Mengevaluasi dan menanggapi saran Copilot
Memahami cara mengevaluasi saran Copilot sangat penting untuk pengkodean vibe yang efektif. Tidak setiap saran akan sempurna, dan mengetahui kapan harus menerima, menolak, atau memodifikasi respons akan secara signifikan meningkatkan pengalaman pengembangan Anda.
Kapan harus menerima saran
Terima saran Copilot saat mereka:
- Memenuhi persyaratan Anda: Kode melakukan apa yang Anda minta.
- Ikuti praktik terbaik: Menggunakan pola, konvensi penamaan, dan struktur yang sesuai.
- Terstruktur dengan baik: Kode dapat dibaca, dipertahankan, dan diformat dengan benar.
- Sertakan penanganan kesalahan yang tepat: Kasus batas dan potensi kegagalan sudah ditangani.
- Cocokkan gaya proyek Anda: Konsisten dengan pola dan konvensi basis kode yang ada.
Contoh saran yang baik untuk menerima:
Prompt: "Buat fungsi untuk memvalidasi alamat email"
Copilot menyarankan:
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (typeof email !== 'string') {
throw new Error('Email must be a string');
}
return emailRegex.test(email.toLowerCase());
}
Saran ini harus diterima karena mencakup validasi input, penanganan kesalahan, dan menggunakan pola regex yang wajar.
Kapan harus menolak saran
Tolak saran Copilot ketika mereka:
- Jangan tanggapi prompt Anda: Kode memecahkan masalah yang berbeda dari yang diminta.
- Berisi kerentanan keamanan: Gunakan praktik yang tidak aman atau mengekspos data sensitif.
- Terlalu kompleks: Tugas sederhana yang diimplementasikan dengan kompleksitas yang tidak perlu.
- Gunakan metode yang tidak digunakan lagi: Mengandalkan API yang sudah usang atau usang.
- Kurangnya penanganan kesalahan: Jangan memperhitungkan potensi skenario kegagalan.
- Melanggar standar pengkodian: Jangan ikuti praktik yang ditetapkan tim Anda.
Contoh saran untuk ditolak:
Prompt: "Buat fungsi validasi kata sandi yang aman"
Saran buruk:
function validatePassword(password) {
return password.length > 6;
}
Ini harus ditolak karena terlalu sederhana untuk persyaratan keamanan dan tidak memvalidasi kekuatan kata sandi dengan benar.
Kapan harus mengubah saran
Ubah saran Copilot ketika:
- Sebagian besar benar tetapi perlu penyesuaian: Logika inti tepat namun detailnya perlu diperbaiki.
- Perlu fitur tambahan: Fungsionalitas dasar baik tetapi membutuhkan peningkatan.
- Memiliki masalah gaya kecil: Kode berfungsi tetapi tidak cocok dengan preferensi pemformatan Anda.
- Memerlukan nama variabel yang berbeda: Logika sudah benar tetapi penamaan dapat ditingkatkan.
- Perlu pengoptimalan performa: Berfungsi tetapi bisa lebih efisien.
Contoh saran untuk memodifikasi:
Copilot menyarankan:
function calculateTotal(items) {
let total = 0;
for (let i = 0; i < items.length; i++) {
total += items[i].price;
}
return total;
}
Modifikasi Anda untuk keterbacaan yang lebih baik dan JavaScript modern:
function calculateTotal(items) {
return items.reduce((total, item) => total + item.price, 0);
}
Strategi untuk meningkatkan saran
Ketika saran tidak cukup tepat, coba pendekatan ini:
Sempurnakan perintah Anda:
- Tambahkan persyaratan yang lebih spesifik.
- Sertakan contoh input/output yang diharapkan.
- Tentukan gaya pemrograman atau kerangka kerja yang Anda gunakan.
Modifikasi permintaan:
- "Buat fungsi sebelumnya lebih kuat dengan penanganan kesalahan."
- "Sederhanakan kode yang baru saja Anda tulis."
- "Tambahkan jenis TypeScript ke fungsi sebelumnya."
Bangun secara bertahap:
- Mulailah dengan versi dasar dan minta penyempurnaan.
- Tambahkan fitur satu per satu daripada meminta semuanya sekaligus.
- Uji setiap iterasi sebelum pindah ke peningkatan berikutnya.
Tip
Saat memodifikasi saran, pertahankan bagian yang bekerja dengan baik dan spesifik tentang apa yang perlu diubah. Ini membantu Copilot memahami preferensi Anda dan memberikan saran masa depan yang lebih baik.
Summary
Membuat permintaan yang efektif untuk GitHub Copilot sangat penting untuk memaksimalkan potensinya dalam pengkodan getaran. Dengan memulai dengan deskripsi umum, memberikan contoh konkret, memecah tugas yang kompleks, dan mempertahankan komunikasi yang jelas, Anda dapat memandu Copilot untuk menghasilkan kode berkualitas tinggi yang memenuhi kebutuhan Anda. Iterasi pada perintah dan pemahaman cara mengevaluasi saran akan lebih meningkatkan pengalaman pengembangan Anda, memungkinkan Anda memanfaatkan bantuan AI secara efektif sambil mempertahankan kontrol atas proses pengkodean.