Dapatkan hasil maksimal dari GitHub Copilot

Dec 01 2022
Asisten pengkodean AI sedang populer saat ini. Bagaimana Anda mendapatkan hasil maksimal dari mereka?
Ketika GitHub Copilot dirilis, saya langsung mencobanya. Klaim itu sepertinya terlalu bagus untuk menjadi kenyataan.

Ketika GitHub Copilot dirilis, saya langsung mencobanya. Klaim itu sepertinya terlalu bagus untuk menjadi kenyataan.

Apa yang saya temukan justru sebaliknya — lebih baik daripada yang diiklankan. Saya sangat terpesona olehnya sehingga saya… bahkan tidak men-tweet tentangnya. Saya pikir itu keuntungan yang terlalu besar untuk diberikan secara gratis!

Saya menemukan Copilot sangat berpengaruh sehingga, ketika kami mengadakan retret tim 2021, saya mendedikasikan satu bagian lengkap tentang presentasi CTO saya untuk Copilot. Menggunakan Copilot menjadi hampir "diperlukan" seperti alat apa pun di Infinite Red. Itu adalah pengubah permainan yang sebesar itu.

Apa yang dilakukan Kopilot untuk alur kerja pengkodean saya

Saya seorang pembuat kode yang cukup cepat dalam keadaan normal; Copilot menggandakan kecepatan saya.

Saya menderita ADHD ringan dan salah satu perjuangan terbesar saya adalah tetap fokus. Begitu saya mencapai "kondisi aliran", saya tidak dapat dihentikan. Saya tidak berpikir saya sendirian dalam berjuang dengan ini, tetapi bahkan jika Anda tidak melakukannya, Anda mungkin masih memiliki saat-saat di mana Anda seperti "kehilangan utas" dan perlu diminta.

Saya telah menemukan bahwa alur pengkodean ideal saya selalu melibatkan pemasangan. Pasangan yang baik membuat saya tetap fokus, mengantisipasi apa yang dibutuhkan selanjutnya, menawarkan saran, dan sabar terhadap saya. Kopilot mengisi peran itu sekarang, secara otomatis. Saya akan menulis beberapa kode, mencapai titik tertentu di mana otak saya mencoba untuk beralih ke subjek lain, tetapi sedikit jeda itu cukup bagi Copilot untuk memunculkan saran, sehingga memicu fokus saya lagi.

Keterbatasan kopilot

Kesalahan umum adalah mendapatkan hasil yang buruk dari Copilot dan menyalahkan alatnya. Kopilot tidak menulis kode Anda persis seperti yang Anda butuhkan dalam banyak kasus. Itu melakukan yang terbaik berdasarkan konteks, petunjuk, dan jumlah data pelatihan yang dapat diaksesnya. Dan seperti alat apa pun, Anda perlu mempelajari cara menggunakannya untuk mendapatkan hasil maksimal darinya.

Mari kita bicara tentang cara mendapatkan hasil maksimal dari Kopilot.

Menulis komentar terkemuka untuk konteks

Konteks itu penting, baik untuk programmer berpasangan maupun untuk asisten pengkodean AI. Mulailah dengan menulis komentar yang jelas yang memberikan, dalam bahasa Inggris yang sederhana, ide yang bagus tentang fungsi untuk apa, argumen apa yang harus diambil, apa yang harus dikembalikan. Jika komentar Anda tidak jelas, harapkan hasil yang tidak jelas:

Komentar yang lebih baik akan memberikan informasi yang lebih baik kepada Kopilot:

Jangan ragu untuk kembali dan men-tweak komentar Anda sampai Anda mendapatkan hasil yang Anda inginkan. Anda tentu saja dapat mengedit kodenya secara manual, tetapi jika Anda pandai menulis komentar deskriptif, itu akan melakukan pekerjaan yang lebih baik dengan kode yang akan datang juga.

Dalam hal ini, menambahkan "Fungsi yang diketik" memperkenalkan tipe ke argumen fungsi.

Komentar ini tidak harus untuk pembaca manusia dari kode, meskipun dapat dibaca apa adanya. Saya selalu kembali dan menyempurnakannya untuk pembaca manusia setelah saya selesai.

Pelajari pintasan keyboard

Jika Anda menggunakan VS Code, Anda dapat menemukan daftar pintasan di sini .

  • Terima saran sebaris:Tab
  • Tolak saran sebaris:Esc
  • Tampilkan saran sebaris berikutnya:Option (⌥)+]
  • Tampilkan saran sebaris sebelumnya:Option (⌥)+[
  • Pemicu saran sebaris:Option (⌥)+\
  • Buka Kopilot GitHub:Ctrl+Return

Yang paling sering saya gunakan, selain Tab/ Esc, adalah Option+[dan ]. Ini memungkinkan saya menggilir saran sampai saya memiliki saran yang paling berguna.

Berikan struktur Copilot untuk dikerjakan

Terkadang Copilot akan menyejajarkan hal-hal yang benar-benar ingin Anda ekstrak ke dalam fungsi pembantu. Hapus seluruh fungsi yang dihasilkan, buat fungsi pembantu terlebih dahulu, dan Kopilot biasanya akan mengambilnya dan menggunakannya untuk selanjutnya.

Ini berlaku untuk hal-hal lain, seperti nilai konstanta yang dikodekan keras. Tambahkan variabel bernama tepat di atas kode yang dihasilkan dan Kopilot akan mengintegrasikannya.

Kopilot dapat membantu dengan perintah CLI

Jika Anda seperti saya dan tidak dapat mengingat banyak perintah git, Kopilot juga dapat membantu.

Di tab kosong, tulis sesuatu seperti ini:

Itu tidak sempurna, tetapi itu akan memberi Anda cukup petunjuk yang akan membuat Anda dekat!

Kopilot hebat dalam tugas yang berulang, seperti tes menulis

Salah satu momen terbesar saya saat streaming adalah ketika Copilot menulis pengujian yang akurat untuk fitur yang cukup rumit yang sedang saya bangun. Coba lihat (stempel waktu 2:23:00):

Kopilot juga bisa menulis komentar untuk Anda!

Saat menulis komentar dapat membantu Copilot dengan kode, menulis kode juga dapat membantu Copilot dengan komentar!

Jika Anda memiliki kode yang sudah ada dan perlu mendokumentasikannya, Copilot akan sering mengetahui apa itu kode.

Copilot dapat menjelaskan kode kepada Anda (melalui Copilot Labs)

Jika Anda menginstal ekstensi Copilot Labs, Anda dapat membukanya di panel samping, menyorot blok teks, dan Copilot akan melakukan yang terbaik untuk menjelaskannya kepada Anda dalam bahasa Inggris sederhana.

Saya belum menemukan ini cukup berguna karena saya dapat membaca kode dengan lancar, tetapi ini bisa berguna jika beberapa kode sangat samar.

Kopilot dapat membantu Anda mempelajari bahasa pengkodean baru

Ketika saya sedang membangun react-native-colo-loco , saya harus menulis skrip Gradle, yang ditulis dalam Groovy. Saya tahu sedikit Groovy, tapi tidak banyak. Jadi saya fokus untuk menulis komentar yang tepat dan akurat, dan membiarkan Kopilot menyarankan baris kode. Saya kemudian dapat bersandar pada pengalaman pengembangan saya untuk mempelajari pola dan sintaksis, dan melanjutkan dari sana.

Anda dapat melihat hasilnya di sini (saya meninggalkan hampir semua komentar terkemuka Copilot untuk menunjukkan apa adanya).

Jika kode Copilot salah, teruslah membangun

Kopilot menyukai konteks. Semakin banyak Anda membangun, semakin banyak konteks yang dimilikinya, dan semakin berguna jadinya. Ketika saya memutuskan untuk membangun kembali sebagian dari MobX-State-Tree , Copilot sangat membantu, karena dapat memeriksa basis kode lainnya. (Refactor tidak pernah dikirimkan, tetapi itu adalah latihan yang bagus dalam pembelajaran.)

Ini masih awal, tapi saya cukup bersemangat di GitHub Copilot. Jika Anda memiliki tips lain, beri tahu saya di Twitter !

Ucapan terima kasih:

  • Terima kasih kepada Rizèl Scarlett atas ceramahnya tentang Copilot di sini (layak untuk ditonton juga!):https://www.youtube.com/watch?v=CuQSoHbOpTQ
  • Terima kasih kepada Marie Prokopets untuk artikelnya yang luar biasa tentang Copilot (Anda harus membaca ini juga!):https://nira.com/github-copilot/
  • Terima kasih kepada Jenna Fucci untuk grafik mengagumkan di bagian atas artikel ini!