Я пробовал Github Copilot в течение 4 месяцев, вот мои мысли, советы и рекомендации.

Гитхаб второй пилот

Ранее в 2019 году Github представил свой последний проект: Github Copilot, ИИ на основе OpenAPI GPT-3, и я был среди тех, кто попробовал его бесплатно. Эта статья о моих мыслях об этом опыте и некоторых советах / хитростях, которые я обнаружил во время его использования.

Бета-доступ

Прежде чем Github Copilot стал доступен для широкой публики, Github решил создать программу бета-тестирования, в которой люди могли встать в очередь, чтобы опробовать ее, пока она не будет выпущена. Я был одним из счастливчиков, получивших доступ к этой программе, и как только я ее установил, я попался на крючок.

Первые впечатления

Как только я увидел, что меня приняли в программу бета-тестирования, я быстро настроил ее на Visual Studio Code и начал делать небольшой однодневный проект, чтобы посмотреть, как это повлияет на мой рабочий процесс, и довольно быстро обнаружил, что у него есть возможности революционизировать способ и скорость, с которой я кодирую.

Первый проект

Я решил провести небольшой однодневный проект, чтобы посмотреть, как Github Copilot повлияет на мой рабочий процесс. Моя идея заключалась в том, чтобы создать API для личных финансов, который мог бы отслеживать и суммировать транзакции по нескольким банковским счетам.

Я решил сделать это в express.js, платформе NodeJS для внутренних серверов и API. Как только я начал использовать стандартную технику написания комментариев и позволил Copilot делать свою работу, я смог генерировать конечные точки очень быстро и без особых проблем.

Единственная проблема, с которой я иногда сталкивался, заключалась в том, что Github Copilot попадал в бесконечный цикл повторения себя и генерировал все более и более длинные строки кода.

У меня не было никакого способа исправить это, кроме как написать часть кода самостоятельно или сформулировать комментарий по-другому, что раздражало.

В наши дни второй пилот Github, похоже, работает намного лучше, и я реже сталкиваюсь с такими проблемами.

Другие варианты использования

Другой способ использования Github, который я часто использую, — это выполнить процесс в обратном порядке: вместо того, чтобы писать комментарии и позволять второму пилоту Github разбираться с кодом, вы можете написать код и позволить второму пилоту разобраться с комментариями.

Таким образом, вы могли бы легко выработать привычку должным образом документировать свой код, не задумываясь о том, что писать.

Однако часто я использую сочетание написания кода и написания комментариев. Я считаю, что это работает лучше всего для меня, но важно, чтобы каждый понял это для себя.

Недостатки

Использование Github Copilot также имеет свои недостатки, я бы не стал использовать его, если бы очень боялся случайного появления чужого кода в моей кодовой базе (хотя он обучен на коде с открытым исходным кодом, так что это не должно иметь значения).

Кроме того, Github Copilot может очень плохо работать на неосновных языках программирования. Мне пришлось отключить copilot для AL и C/AL, потому что он продолжал генерировать синтаксически ошибочный код, даже несмотря на то, что в контексте было много примеров того, как работает синтаксис AL.

Заключение

Github Copilot может быть полезным инструментом в процессе разработки и коренным образом изменить способ написания кода. Тем не менее, по-прежнему важно помнить о различных способах использования Copilot и пытаться выяснить, какой рабочий процесс подходит именно вам.