소개
GitHub Copilot은 이전 프로그래밍 경험 여부는 중요하지 않으며 추가 프로그래밍 언어를 학습하는 경우 코딩하는 방법을 배우는 데 도움이 될 수 있습니다. 이 가이드는 후자의 사용 사례에 관한 것입니다. 즉, 하나 이상의 프로그래밍 언어로 코딩하는 방법에 대한 지식이 이미 있지만 새 언어를 배우려고 하는 경우에 대한 것입니다.
필수 조건
이 가이드에서는 IDE에서 Copilot Chat 및 Copilot 코드 완성을 사용하는 방법을 알고 있다고 가정합니다. IDE에서 GitHub Copilot에 질문하기 및 GitHub Copilot을 사용하여 IDE에서 코드 제안 가져오기을(를) 참조하세요.
기본 사항으로 시작
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 코드 완성에서 제공하는 제안 내용을 확인할 수 있습니다.
예시:
-
IDE에서 사용 중인 언어에 적절한 파일 이름 확장명으로 파일을 만듭니다. 예를 들어 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 > Explain을 선택합니다.
JetBrains IDE에서:
선택한 코드를 마우스 오른쪽 단추로 클릭하고 GitHub Copilot > Explain This를 선택합니다.
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은 새 언어를 배우는 데 도움이 되는 도구이지만, 모든 AI 도우미와 마찬가지로 항상 맞는 것은 아닙니다. 실수를 할 수 있으며 최적이 아닌 코드를 제안할 수 있습니다.
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.