Memeriksa praktik terbaik GitHub Copilot
Ekstensi GitHub Copilot untuk Visual Studio Code membantu pengembang menulis kode lebih cepat dan dengan lebih sedikit kesalahan.
Namun, GitHub Copilot adalah programmer pasangan berbasis AI, bukan seorang programmer. Untuk memaksimalkan alat GitHub Copilot, Anda perlu mengikuti praktik terbaik.
Pilih alat GitHub Copilot yang tepat untuk pekerjaan tersebut
Meskipun fitur penyelesaian kode GitHub Copilot dan fitur obrolan GitHub Copilot berbagi beberapa fungsionalitas, kedua alat ini paling baik digunakan dalam keadaan yang berbeda.
Penyelesaian kode memberikan nilai terbanyak saat digunakan untuk:
- Cuplikan kode lengkap, nama variabel, dan fungsi saat Anda menulisnya.
- Hasilkan kode berulang.
- Hasilkan kode dari komentar sebaris dalam bahasa alami.
- Hasilkan pengujian untuk pengembangan berbasis pengujian.
Atau, fitur obrolan GitHub Copilot memberikan nilai terbanyak saat digunakan untuk:
- Jawab pertanyaan tentang kode dalam bahasa alami.
- Hasilkan bagian kode yang besar, lalu iterasi pada kode tersebut untuk memenuhi kebutuhan Anda.
- Selesaikan tugas tertentu dengan kata kunci dan keterampilan. GitHub Copilot Chat menggunakan kata kunci bawaan (dan keterampilan yang dirancang untuk memberikan konteks penting) dalam permintaan untuk menyelesaikan tugas umum dengan cepat. Berbagai jenis kata kunci dan keterampilan tersedia di berbagai platform obrolan GitHub Copilot.
- Selesaikan tugas sebagai persona tertentu. Misalnya, Anda dapat memberi tahu GitHub Copilot Chat bahwa itu adalah Pengembang C++ Senior yang sangat peduli tentang kualitas kode, keterbacaan, dan efisiensi. Setelah menetapkan persona, Anda dapat meminta GitHub Copilot untuk meninjau kode Anda.
Dapatkan manfaat maksimal dari saran sebaris GitHub Copilot
Ekstensi GitHub Copilot menyajikan saran secara otomatis untuk membantu Anda membuat kode secara lebih efisien. GitHub Copilot memberikan saran yang lebih baik saat Anda mengikuti tindakan dan perilaku tertentu. Anda mungkin sudah mengikuti beberapa tindakan dan perilaku ini, karena tindakan dan perilaku ini juga membantu Anda dan kolega Anda memahami kode Anda.
Menyediakan konteks untuk GitHub Copilot
GitHub Copilot berfungsi paling baik ketika memiliki konteks yang memadai untuk mengetahui apa yang Anda lakukan dan apa yang ingin Anda bantu. Sama seperti Anda memberikan konteks yang relevan kepada kolega saat meminta bantuan, Anda perlu memberikan GitHub Copilot konteks.
Buka file
Untuk penyelesaian kode, GitHub Copilot melihat file yang terbuka di editor Anda untuk membuat konteks dan membuat saran yang sesuai. Memiliki file terkait yang terbuka di Visual Studio Code saat menggunakan GitHub Copilot membantu menentukan konteks dan memungkinkan GitHub Copilot melihat gambaran yang lebih besar dari proyek Anda.
Komentar tingkat atas
Sama seperti Anda akan memberikan pengenalan singkat tingkat tinggi kepada rekan kerja, komentar tingkat atas dalam file kode dapat membantu GitHub Copilot memahami konteks keseluruhan kode yang Anda buat.
Termasuk dan referensi yang sesuai
Cara terbaik adalah dengan mengatur penyertaan atau referensi modul yang Anda butuhkan secara manual untuk pekerjaan Anda. GitHub Copilot dapat membuat saran, tetapi Anda mungkin tahu dependensi apa yang perlu Anda sertakan. Ini juga dapat menginformasikan GitHub Copilot tentang kerangka kerja, pustaka, dan versinya yang ingin Anda gunakan saat membuat saran.
Nama fungsi yang bermakna
Sama seperti metode yang disebut fetchData() tidak akan berarti banyak bagi rekan kerja (atau Anda setelah beberapa bulan), fetchData() tidak akan membantu GitHub Copilot memahami kode Anda. Menggunakan nama fungsi yang bermakna membantu GitHub Copilot menghasilkan saran yang melakukan apa yang Anda inginkan.
Komentar fungsi spesifik dan terlingkup dengan baik
Nama fungsi hanya bisa sangat deskriptif tanpa terlalu panjang. Komentar fungsi dapat membantu mengisi detail yang mungkin perlu GitHub Copilot ketahui.
Prime GitHub Copilot dengan kode sampel
Salah satu trik untuk mendapatkan GitHub Copilot ke halaman yang benar adalah dengan menyalin dan menempelkan sampel kode yang diinginkan ke tab editor yang terbuka. Sampel tersebut harus mewakili kode yang ingin Anda tiru dengan GitHub Copilot. Memberikan contoh dapat membantu GitHub Copilot menghasilkan saran yang cocok dengan bahasa dan tugas yang Anda inginkan untuk ditiru. Setelah GitHub Copilot membantu Anda membuat beberapa kode yang sesuai dengan tujuan Anda, Anda dapat menghapus kode sampel. Pendekatan ini sangat membantu ketika Anda perlu "melatih" GitHub Copilot. Misalnya, katakanlah GitHub Copilot secara default menyarankan potongan kode yang mengimplementasikan pustaka versi lama. Anda dapat menyisipkan kode ke dalam proyek Anda yang menggunakan versi terbaru pustaka. Ini membantu GitHub Copilot untuk mulai menyarankan cuplikan kode yang menggunakan versi terbaru library. Setelah GitHub Copilot belajar menggunakan versi pustaka baru, Anda dapat menghapus kode sampel.
Konsisten dan jaga agar standar kualitas tetap tinggi
GitHub Copilot akan terhubung ke kode Anda untuk menghasilkan saran yang mengikuti pola yang ada, sehingga adanya "sampah masuk, sampah keluar" berlaku.
Selalu menjaga standar kualitas tinggi memerlukan disiplin. Terutama ketika Anda menulis kode dengan cepat dan sembarangan agar sesuatu berfungsi. Anda mungkin ingin menonaktifkan penyelesaian GitHub Copilot saat dalam mode "hacking". Anda dapat menonaktifkan penyelesaian sementara dari menu status GitHub Copilot (dapat diakses dari bilah status Visual Studio Code).
Manfaatkan GitHub Copilot Chat
Saat Anda menggunakan fitur obrolan GitHub Copilot, ada beberapa hal yang dapat Anda lakukan untuk mengoptimalkan pengalaman Anda.
Mulai umum, lalu masuk ke spesifik
Saat menulis permintaan untuk GitHub Copilot, pertama-tama berikan GitHub Copilot deskripsi luas tentang tujuan atau skenario. Kemudian cantumkan persyaratan spesifik apa pun. Pertimbangkan perintah berikut:
- Tulis sebuah fungsi yang memberi tahu saya apakah suatu angka adalah bilangan prima.
- Fungsi harus mengambil bilangan bulat dan mengembalikan true jika bilangan bulat prima.
- Fungsi harus melemparkan kesalahan jika input bukan bilangan bulat positif.
Berikan contoh
Gunakan contoh untuk membantu GitHub Copilot memahami apa yang Anda inginkan. Anda dapat memberikan contoh data input, contoh output, dan contoh implementasi.
Memecah tugas kompleks menjadi tugas yang lebih sederhana
Jika Anda ingin GitHub Copilot menyelesaikan tugas yang kompleks atau besar, pecahkan tugas menjadi beberapa tugas sederhana dan kecil. Misalnya, alih-alih meminta GitHub Copilot untuk menghasilkan teka-teki pencarian kata, memecah proses menjadi tugas yang lebih kecil, dan meminta GitHub Copilot untuk menyelesaikannya satu per satu:
- Tulis fungsi untuk menghasilkan pola 10 kali 10 huruf.
- Tulis fungsi untuk menemukan semua kata dalam kisi huruf, diberikan daftar kata yang valid.
- Tulis fungsi yang menggunakan fungsi sebelumnya untuk menghasilkan kisi 10 kali 10 huruf yang berisi setidaknya 10 kata.
- Perbarui fungsi sebelumnya untuk mencetak tampilan kisi huruf dan 10 kata acak dari kisi tersebut.
Hindari ambiguitas
Hindari istilah ambigu. Misalnya, jangan bertanya "apa fungsi dari ini" ketika "ini" bisa menjadi file saat ini, tanggapan GitHub Copilot terakhir, atau blok kode tertentu. Alih-alih menggunakan istilah ambigu, spesifiklah: Apa fungsi createUser lakukan?
Menunjukkan kode yang relevan
Jika Anda menggunakan GitHub Copilot Chat di IDE Anda, buka file atau sorot kode yang ingin Anda GitHub Copilot referensikan. Gunakan peserta obrolan, perintah garis miring, dan variabel obrolan dalam petunjuk untuk menentukan konteks. Misalnya, tentukan file mana yang seharusnya menjadi acuan untuk Obrolan GitHub Copilot.
Menggunakan peserta obrolan, perintah garis miring, dan variabel obrolan
Peserta obrolan dirancang untuk mengumpulkan konteks tambahan baik tentang basis kode atau domain atau teknologi tertentu. Saat Anda menentukan peserta yang sesuai, GitHub Copilot Chat dapat menemukan dan memberikan informasi yang lebih baik untuk dikirim ke backend GitHub Copilot. Misalnya, gunakan @workspace saat Anda mengajukan pertanyaan tentang proyek terbuka Anda, atau @vscode saat Anda mengajukan pertanyaan tentang fitur dan API Visual Studio Code.
Perintah garis miring membantu GitHub Copilot Chat dalam memahami niat Anda saat mengajukan pertanyaan. Apakah Anda mempelajari tentang basis kode (/explain), apakah Anda ingin bantuan dalam memperbaiki masalah (/fix), atau apakah Anda membuat kasus pengujian (/tests)? Dengan memberi tahu GitHub Copilot Chat apa yang anda coba lakukan, itu dapat menyetel balasannya ke tugas Anda dan memberikan perintah, pengaturan, dan cuplikan kode yang bermanfaat.
Peserta obrolan, seperti @workspace atau @vscode, dapat berkontribusi variabel obrolan yang menyediakan konteks khusus domain. Anda dapat mereferensikan variabel obrolan di prompt obrolan Anda dengan menggunakan # simbol . Anda dapat menggunakan variabel obrolan untuk lebih spesifik tentang konteks perintah Anda.
Misalnya, #file variabel obrolan memungkinkan Anda mereferensikan file tertentu dari ruang kerja Anda di prompt obrolan Anda. Ini membantu membuat jawaban dari GitHub Copilot Chat lebih relevan dengan kode Anda dengan memberikan konteks tentang file yang sedang Anda kerjakan. Anda dapat mengajukan pertanyaan seperti "Can you suggest improvements to #file:package.json?" atau "How do I add an extension in #file:devcontainer.json?". Menggunakan variabel #file dapat membantu Anda mendapatkan respons yang lebih tepat sasaran dan akurat dari GitHub Copilot.
Eksperimen dan iterasi
Jika Anda tidak mendapatkan hasil yang Anda inginkan, ulangi pada perintah Anda dan coba lagi. Referensikan respons sebelumnya dalam permintaan Anda berikutnya. Anda juga dapat menghapus respons sebelumnya dan memulai kembali.
Menjaga riwayat tetap relevan
GitHub Copilot Chat menggunakan riwayat obrolan untuk mendapatkan konteks tentang permintaan Anda. Untuk memastikan bahwa GitHub Copilot menggunakan riwayat obrolan yang relevan:
- Gunakan utas untuk memulai percakapan baru untuk tugas baru.
- Hapus permintaan yang tidak lagi relevan atau yang tidak memberi Anda hasil yang diinginkan.
Ikuti praktik pengkodan yang baik
Jika Anda tidak mendapatkan respons yang Anda inginkan saat meminta saran GitHub Copilot, pastikan kode yang ada mengikuti praktik terbaik dan mudah dibaca. Contohnya:
- Gunakan gaya dan pola kode yang konsisten.
- Gunakan nama deskriptif untuk variabel dan fungsi.
- Komentari kode Anda.
- Susun kode Anda menjadi komponen modular dan terlingkup.
- Sertakan pengujian unit.
Ringkasan
GitHub Copilot adalah alat canggih yang dapat membantu Anda menulis kode lebih cepat dan dengan lebih sedikit kesalahan. Namun, untuk memaksimalkan GitHub Copilot, Anda perlu mengikuti praktik terbaik. Dengan memilih alat GitHub Copilot yang tepat untuk pekerjaan, menyediakan konteks, dan mengikuti praktik pengkodian yang baik, Anda dapat mengoptimalkan pengalaman Anda dengan GitHub Copilot.