Введение
GitHub Copilot поможет вам узнать, как кодировать: у вас нет предварительного опыта программирования или при обучении дополнительного языка программирования. Это руководство посвящено последнему варианту использования: у вас уже есть хорошие знания о том, как кодировать на одном или нескольких языках программирования, но теперь вы хотите узнать новый язык.
Необходимые компоненты
В этом руководстве предполагается, что вы умеете использовать встроенные предложения Копилот Чат и Copilot в интегрированной среде разработки. См. Задавать вопросы GitHub Copilot в вашем IDE и Получение предложений по коду в вашем IDE с помощью GitHub Copilot.
Начните с основ
Используйте Копилот Чат для изучения основ нового языка. Узнайте, как этот язык отличается от уже известных языков. Попросите Copilot рассказать вам о основных вещах, которые необходимо учитывать перед началом написания кода на новом языке.
Примеры запросов: основы языка
Это некоторые запросы, которые можно использовать в Копилот Чат для изучения основы нового языка программирования. Измените NEW-LANGUAGE имя языка, о который вы хотите узнать.
-
Что лучше всего подходит для NEW-LANGUAGE? Я опытный программист Python, но я не знаю ничего о NEW-LANGUAGE.
-
Каковы основные способы, в которых NEW-LANGUAGE отличается от других языков? Объясните наиболее важные вещи, которые мне нужно знать как опытный программист, который хочет научиться коду в NEW-LANGUAGE.
-
Как установить NEW-LANGUAGE?
-
Как работает обработка ошибок в NEW-LANGUAGE?
-
Как управлять зависимостями и пакетами в NEW-LANGUAGE?
-
Каковы наиболее важные библиотеки или платформы, о которых я должен знать для NEW-LANGUAGE?
-
Какие платформы тестирования обычно используют сообщество NEW-LANGUAGE?
-
Какие самые большие ошибки новичков в NEW-LANGUAGE обычно делают с этим языком?
-
Как опытный программист учит NEW-LANGUAGE, что такое вещи, которые я должен сосредоточиться на первую?
Использование Copilot в качестве личного тренера
GitHub Copilot может писать код для вас. Вы можете попросить его создать блоки кода, функций или даже целых программ. Однако при обучении нового языка следует избегать использования Copilot, чтобы написать большую часть кода, особенно если вы принимаете код, который он предлагает, не убедившись, что вы понимаете его. Если вы не знаете язык, вы не узнаете, является ли код Copilot предлагает так хорошо, как это может быть. Вместо этого следует рассматривать Copilot в качестве персонализированного помощника по обучению.
При запросе Copilot как кодировать что-то конкретное на новом языке, следует попросить его объяснить код, который он предлагает. Если вы не полностью понимаете код или Copilotего описание, попросите упрощенное объяснение или запросите дополнительные сведения, пока вы не поймете код. Всегда избегайте использования любого кода, который вы не уверены в том, что вы понимаете.
Примеры запросов: запрос объяснения
Измените NEW-LANGUAGE имя языка, о который вы хотите узнать.
-
Explain your previous suggestion in more detail. I am new to NEW-LANGUAGE and I don't understand the code you suggested. -
Показать мне, как написать следующий код Ruby в NEW-LANGUAGE:
people_over_50 = people.select { |person| person.age > 50 }Объясните каждую часть предлагаемого кода NEW-LANGUAGE. -
Add comprehensive comments to this NEW-LANGUAGE file to explain what each part of the code does.
Написание простой программы на новом языке
Чтобы get started, напишите простую программу, которую вы сможете легко написать на уже знакомом вам языке. Попросите Copilot для справки. Если вы предпочитаете, можно попросить Copilot написать простую программу, чтобы начать работу. Затем вы можете изучить код, узнать, как он работает, а затем расширить программу самостоятельно.
Примеры запросов: написание простой программы
-
Показать мне код Rust для простого, полезного средства командной строки, который запрашивает ввод пользователя и возвращает полезную информацию на основе введенных данных.
-
Comment the suggested code more thoroughly. I want to understand what every part of this code does. -
Дайте мне код для очень маленького приложения Android, написанного в Kotlin.
-
Suggests ways I could enhance this app.
Используйте комментарии и Copilot встроенные предложения
В качестве альтернативы тому, чтобы просить Копилот Чат предложить базовый код для новой программы, вы можете написать комментарии в редакторе и посмотреть, что предлагает код Copilot.
Например:
-
В интегрированной среде разработки создайте файл с соответствующим расширением имени файла для используемого языка. Например, если вы изучаете Rust, создайте файл с именем
example.rs. -
Скопируйте и вставьте следующие строки комментариев.
Rust // NEW-LANGUAGE command line program to find the day of the week for a date. // The program does the following: // Prompt user to input string in format YYYYMMDD // Parse the string to check that it is a valid date. // If it's not, print an error message and exit. // Calculate the day of the week for the given date. // Print the day of the week to the user.
// NEW-LANGUAGE command line program to find the day of the week for a date. // The program does the following: // Prompt user to input string in format YYYYMMDD // Parse the string to check that it is a valid date. // If it's not, print an error message and exit. // Calculate the day of the week for the given date. // Print the day of the week to the user. -
При необходимости измените синтаксис примечания, чтобы он соответствовал используемому языку.
-
Измените
NEW-LANGUAGEимя используемого языка. Это и расширение имени файла будет указывать Copilot, какой язык следует использовать. -
Нажмите клавиши Return и Tab, чтобы просмотреть и принять встроенные предложения, которые предлагает Copilot. Продолжайте принимать предложения, пока не будет завершена программа.
-
Прочитайте код, чтобы узнать, как это работает. Если вы не понимаете какую-либо часть кода, попросите Copilot объяснить его. Например:
-
Выберите одну или несколько строк кода, которые вы не понимаете.
-
**В VS Code:**Щелкните правой кнопкой мыши выбранный код и выберите Copilot** > Объяснить.**
**В idEs JetBrains:**Щелкните правой кнопкой мыши выбранный код и выберите GitHub Copilot > Объяснить это.
**В Visual Studio:**Откройте панель Копилот Чат и введите запрос
Explain this code.
-
Вопросы о Copilot
При обучении нового языка следует работать над небольшими единицами кода, выполняющими определенную задачу. Попросите Copilot четко определенных, узко ограниченных вопросов, чтобы помочь вам ознакомиться с синтаксисом и идиомами нового языка.
Примеры запросов: конкретные вопросы
Измените NEW-LANGUAGE имя языка, о который вы хотите узнать.
-
Объясните все различные способы, которыми можно закодировать условные условия в NEW-LANGUAGE.
-
В JavaScript я бы написал:
The ${numCats === 1 ? 'cat is' : 'cats are'} hungry.How do I написать это на НОВОМ ЯЗЫКЕ? -
подсказка %}В NEW-LANGUAGE how do I преобразовать строку в все строчные?
-
Что такое эквивалент num++ в NEW-LANGUAGE?
-
подсказка %}How do I запускать программу, написанную на языке программирования NEW-LANGUAGE?
-
подсказка %}Как скомпилировать один исполняемый файл для моего NEW-LANGUAGE project, который я смогу распространять как релиз?
Преобразование существующего кода в новый язык
Одним из эффективных способов использования существующих знаний по программированию является получение кода, знакомого с одним языком, преобразование его в новый язык, а затем изучение того же действия на новом языке.
- Найдите автономный фрагмент кода. Например, функция.
- Попросите Копилот Чат преобразовать его в язык, который вы изучаете.
- Скопируйте и вставьте предлагаемый код в новый файл в редакторе.
- Просмотрите два фрагмента кода параллельно и проанализируйте, как эта же операция выполняется на новом языке. Каковы сходства и различия?
- Получите Copilot, чтобы объяснить любой код, который вы не понимаете.
Чтение существующего кода на новом языке
После того как вы чувствуете себя комфортно с основами нового языка, проводите время на чтение существующего кода, написанного на этом языке.
Найдите project, который использует новый язык, и посмотрите код. Откройте файл и попросите Копилот Чат для краткого обзора цели файла. Затем считывает строку кода по строке. Вы понимаете методы, которые использовались? Знаете ли вы, как работает библиотека и встроенные функции? Можете ли вы отслеживать data flow через код?
Попросите Copilot объяснить все части кода, которые вы не понимаете.
Завершив чтение кода, попросите Copilot предложить любые способы улучшения кода.
Избегайте того, чтобы Copilot всегда правильно
Copilot — это средство, которое поможет вам узнать новый язык, но, как и все помощники по искусственному интеллекту, это не является непобедимым. Это может сделать ошибки, и он может предложить код, который не является оптимальным.
Copilot обучается на большом тексте кода, но для каждого языка качество получаемых предложений может зависеть от объема и разнообразия обучающих данных для этого языка. Например, JavaScript хорошо представлен в общедоступных репозиториях и Copilot обычно сможет предоставлять точные и полезные предложения. Качество предложений Copilotможет быть ниже для языков, которые менее хорошо представлены в общедоступных репозиториях.
Всегда проверяйте код, который предлагает Copilot и убедитесь, что вы понимаете его перед его использованием. При проверке кода, предлагаемого Copilot, следует искать способы повышения производительности, упрощения или упрощения обслуживания кода.
Если вы считаете, что Copilot не предложил лучший способ написания кода что-то, что вы можете попросить его попробовать другой подход.
Если вы запускаете код и создаете ошибку, предоставьте Copilot сведения об ошибке и попросите его исправить код.
Кроме того, следует проверить, что Copilot соответствует рекомендациям по стилю написания кода. Если это не так, можно изменить пользовательские инструкции репозитория, чтобы предложить Copilot придерживаться ваших рекомендаций в будущем. См. Добавление пользовательских инструкций репозитория для GitHub Copilot.
Примеры запросов: проверка работы
-
Check this code for syntax errors. -
Assess whether this code is optimally performant. -
Suggest alternative ways this code could have been written.