ИИ как ваш парный программист..

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

В гибкой среде становится популярным парное программирование, и, по мнению экспертов, это обеспечивает гораздо более высокое качество написанного кода и, в конечном итоге, помогает строить логику, более эффективную с точки зрения времени и пространства. GitHub предлагает для этого решение на основе ИИ. По словам второго пилота GitHub, это ваш программист пары ИИ.

Copilot обеспечивает гибкость, позволяя получать предложения по строке кода или всей функции. Это поддерживается и работает с OPENAI, который обучен миллиардам общедоступных кодов, и который предоставляет прочные знания на кончиках пальцев и делает жизнь еще проще.

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

Комментарии к коду

Это отличная функция, которую предоставляет второй пилот. Она помогает нам получить хорошо написанный код из набора комментариев, которые мы предоставляем. Интеллектуальный ИИ понимает комментарии и, в свою очередь, превращает их в хорошо сформированный готовый к производству код.

/** * json schema: * [ * { name: “John Doe”, * collaborators: [“Jane Doe”, “Herbert Frapp”, “Elsie McEwan”] * }, * { name: “Jane Doe”, * collaborators: [“John Doe”, “Karen Smith”] * }, * { name: “Skittles the Cat”, * collaborators: [] * } * ] */

Например, ниже мы получим блок кода в качестве предложения для функции function collaborators_map(json: any): Map‹string, Set‹string››

function collaborators_map(json: any): Map<string, Set<string>> { const map = new Map<string, Set<string>>(); for (const item of json) { const name = item.name; const collaborators = item.collaborators; const set = new Set<string>(collaborators); map.set(name, set); } return map; }

*код взят из документации второго пилота

Телеметрия GitHub Copilot

Согласно официальной документации, второй пилот собирает некоторые дополнительные данные из редактора кода, помимо того, что собирают другие продукты и сервисы GitHub. GitHub Copilot собирает данные о действиях пользователя в редакторе кода Visual Studio, привязанных к отметке времени и метаданным.

Заключение

Прелесть второго пилота GitHub заключается в механизме, который он использует для внесения предложений. Эти предложения, конечно же, адаптируются к коду, который мы пишем, в то же время они в конечном итоге основаны на коде, написанном другими. Также создан интеллектуальный механизм. в , чтобы отклонить предложения , которые не соответствуют текущему коду , и в конце предоставляет возможность ручной группировки .

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