Введение
GitHub Copilot поможет вам узнать, как кодировать: у вас нет предварительного опыта программирования или при обучении дополнительного языка программирования. Это руководство посвящено последнему варианту использования: у вас уже есть хорошие знания о том, как кодировать на одном или нескольких языках программирования, но теперь вы хотите узнать новый язык.
Необходимые компоненты
В этом руководстве предполагается, что вы знаете, как использовать Copilot Chat и Copilot завершения кода в интегрированной среде разработки. См. раздел [AUTOTITLE и Запрос вопросов GitHub Copilot в интегрированной среде разработки](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot).
Начните с основ
Используйте Copilot Chat для изучения основ нового языка. Узнайте, как этот язык отличается от уже известных языков. Попросите Copilot рассказать вам о основных вещах, которые необходимо учитывать перед началом написания кода на новом языке.
Примеры запросов: основы языка
Ниже приведены некоторые запросы, которые можно использовать в Copilot Chat для изучения основы нового языка программирования:
-
What is NEW-LANGUAGE best suited for? I am an experienced Python programmer, but I don't know anything about NEW-LANGUAGE.
-
What are the main ways in which NEW-LANGUAGE differs from other languages? Explain the most essential things I need to know as an experienced programmer who wants to learn to code in NEW-LANGUAGE.
-
How can I install NEW-LANGUAGE?
-
How does error handling work in NEW-LANGUAGE?
-
How do you manage dependencies and packages in NEW-LANGUAGE?
-
What are the most essential libraries or frameworks I should know about for NEW-LANGUAGE?
-
What testing frameworks does the NEW-LANGUAGE community typically use?
-
What are the biggest mistakes newcomers to NEW-LANGUAGE typically make with this language?
-
As an experienced programmer learning NEW-LANGUAGE, what are the things I should focus on first?
Использование Copilot в качестве личного тренера
GitHub Copilot может писать код для вас. Вы можете попросить его создать блоки кода, функций или даже целых программ. Однако при обучении нового языка следует избегать использования Copilot, чтобы написать большую часть кода, особенно если вы принимаете код, который он предлагает, не убедившись, что вы понимаете его. Если вы не знаете язык, вы не узнаете, является ли код Copilot предлагает так хорошо, как это может быть. Вместо этого следует рассматривать Copilot в качестве персонализированного помощника по обучению.
При запросе Copilot как кодировать что-то конкретное на новом языке, следует попросить его объяснить код, который он предлагает. Если вы не полностью понимаете код или Copilotего описание, попросите упрощенное объяснение или запросите дополнительные сведения, пока вы не поймете код. Всегда избегайте использования любого кода, который вы не уверены в том, что вы понимаете.
Примеры запросов: запрос объяснения
-
Explain your previous suggestion in more detail. I am new to NEW-LANGUAGE and I don't understand the code you suggested.
-
Show me how to write the following Ruby code in NEW-LANGUAGE: `people_over_50 = people.select { |person| person.age > 50 }`. Explain each part of the NEW-LANGUAGE code that you suggest.
-
Add comprehensive comments to this NEW-LANGUAGE file to explain what each part of the code does.
Написание простой программы на новом языке
Чтобы приступить к работе, напишите простую программу, которую вы сможете легко писать на языке, который вы уже знаете. Попросите Copilot для справки. Если вы предпочитаете, можно попросить Copilot написать простую программу, чтобы начать работу. Затем вы можете изучить код, узнать, как он работает, а затем расширить программу самостоятельно.
Примеры запросов: написание простой программы
-
Show me the Rust code for a simple, useful command line tool that asks for user input and returns some useful information based on what was entered.
-
Comment the suggested code more thoroughly. I want to understand what every part of this code does.
-
Give me the code for a very small Android app written in Kotlin.
-
Suggests ways I could enhance this app.
Использование комментариев и Copilot завершения кода
В качестве альтернативы запросу Copilot Chat предложить базовый код для новой программы, вы можете написать комментарии в редакторе и увидеть, какие предложения 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:
Откройте панель Copilot Chat и введите запрос
Explain this code
.
-
Вопросы о Copilot
При обучении нового языка следует работать над небольшими единицами кода, выполняющими определенную задачу. Попросите Copilot четко определенных, узко ограниченных вопросов, чтобы помочь вам ознакомиться с синтаксисом и идиомами нового языка.
Примеры запросов: конкретные вопросы
-
Explain all of the various ways that conditionals can be coded in NEW-LANGUAGE.
-
In JavaScript I'd write: `The ${numCats === 1 ? 'cat is' : 'cats are'} hungry.`. How do I write this in NEW-LANGUAGE?
-
In NEW-LANGUAGE, how do I convert a string to all lowercase?
-
What is the equivalent of num++ in NEW-LANGUAGE?
-
How do I run a program written in the NEW-LANGUAGE programming language?
-
How can I compile a single executable file for my NEW-LANGUAGE project, that I can distribute as a release?
Преобразование существующего кода в новый язык
Одним из эффективных способов использования существующих знаний по программированию является получение кода, знакомого с одним языком, преобразование его в новый язык, а затем изучение того же действия на новом языке.
- Найдите автономный фрагмент кода. Например, функция.
- Попросите Copilot Chat преобразовать его в язык, который вы изучаете.
- Скопируйте и вставьте предлагаемый код в новый файл в редакторе.
- Просмотрите два фрагмента кода параллельно и проанализируйте, как эта же операция выполняется на новом языке. Каковы сходства и различия?
- Получите Copilot, чтобы объяснить любой код, который вы не понимаете.
Чтение существующего кода на новом языке
После того как вы чувствуете себя комфортно с основами нового языка, проводите время на чтение существующего кода, написанного на этом языке.
Найдите проект, использующий новый язык, и просмотрите код. Откройте файл и попросите Copilot Chat для краткого обзора цели файла. Затем считывает строку кода по строке. Вы понимаете методы, которые использовались? Знаете ли вы, как работает библиотека и встроенные функции? Можете ли вы следовать потоку данных через код?
Попросите Copilot объяснить все части кода, которые вы не понимаете.
Завершив чтение кода, попросите Copilot предложить любые способы улучшения кода.
Избегайте того, чтобы Copilot всегда правильно
Copilot — это средство, которое поможет вам узнать новый язык, но, как и все помощники по искусственному интеллекту, это не является непобедимым. Это может сделать ошибки, и он может предложить код, который не является оптимальным.
Copilot обучается на большом тексте кода, но для каждого языка качество получаемых предложений может зависеть от объема и разнообразия обучающих данных для этого языка. Например, JavaScript хорошо представлен в общедоступных репозиториях и Copilot обычно сможет предоставлять точные и полезные предложения. Качество предложений Copilotможет быть ниже для языков, которые менее хорошо представлены в общедоступных репозиториях.
Всегда проверяйте код, который предлагает Copilot и убедитесь, что вы понимаете его перед его использованием. При проверке кода, предлагаемого Copilot, следует искать способы повышения производительности, упрощения или упрощения обслуживания кода.
Если вы считаете, что Copilot не предложил лучший способ написания кода что-то, что вы можете попросить его попробовать другой подход.
Если вы запускаете код и создаете ошибку, предоставьте Copilot сведения об ошибке и попросите его исправить код.
Кроме того, следует проверить, что Copilot соответствует рекомендациям по стилю написания кода. Если это не так, можно изменить пользовательские инструкции репозитория, чтобы предложить Copilot придерживаться ваших рекомендаций в будущем. См . раздел AUTOTITLE.
Примеры запросов: проверка работы
-
Check this code for syntax errors.
-
Assess whether this code is optimally performant.
-
Suggest alternative ways this code could have been written.