굴절기 코드에 Copilot을 사용하는 방법
AI 제품은 현대의 소프트웨어 개발이나 코딩에 혁명을 일으켰습니다. AI를 활용하면 프로그래밍 코드를 자동으로 생성하고 코드 리팩토링(Code Refactoring) 을 통해 이를 수정하고 최적화할 수 있습니다 . 이 기사에서는 리팩토링 프로세스를 살펴보고 Copilot을 사용하여 Refractor Code를 사용하는 방법을 알아봅니다 .
코드 리팩토링이란 무엇입니까?
소프트웨어 또는 애플리케이션 개발에서 코드 리팩토링은 원래 기능을 유지하면서 프로그램 소스 코드를 재구성하거나 재배열하는 것을 의미합니다. 이 프로세스는 소프트웨어의 구조와 디자인을 개선하고 복잡성을 줄이는 것을 목표로 합니다. AI를 코드 리팩토링에 통합함으로써 소프트웨어 성능 문제를 신속하게 식별하고 복잡한 알고리즘을 완화하여 전반적인 효율성을 향상시키는 데 도움이 되었습니다.
Copilot은 코드 리팩토링에 어떻게 도움이 됩니까?
코드의 특정 섹션을 분석하고 구조를 더 깔끔하고 사용자 친화적인 형식으로 개선하여 복잡성을 줄이기 위한 제안을 제공할 수 있습니다. 제공되는 권장 사항은 다음을 기반으로 합니다.
- 기존 코드의 문제 식별: Copilot은 전체 코드 파일을 스캔하여 중복 코드, 사용되지 않거나 불분명한 변수 등을 지적하여 리팩토링할 섹션이나 영역을 강조 표시합니다.
- 효율적인 옵션 제안: 코드를 리팩터링할 때 Copilot은 기존 코드를 분석하고 동일한 결과를 생성하면서도 코드를 더 깔끔하게 보이게 만드는 효율적인 대안을 제안합니다. 이러한 권장 사항에는 변수, 메서드 및 데이터 구조의 이름을 지정하기 위한 효율적인 언어 사용이 포함됩니다.
- 유지 관리 가능한 코드 보장: 실시간 피드백은 버그가 포함되는 것을 방지하는 데 도움이 됩니다. 제안 사항은 일반적으로 적절한 코드 구조를 유지하는 데 도움이 되는 프로그래밍 원칙의 모범 사례를 기반으로 하며 필요한 경우 다른 사람이 이를 더 쉽게 이해하고 수정할 수 있도록 해줍니다.
굴절기 코드에 Copilot을 사용하는 방법
리팩토링에 Copilot을 사용하려면 해당 언어(VS Code, Python 등)에 대한 GitHub Copilot 확장을 설치하여 시작할 수 있습니다 . 예를 들어 Python으로 작성된 소스 코드를 재구성하려는 경우 다음과 같이 Copilot 플러그인을 설치할 수 있습니다.
- 통합 개발 환경 또는 IDE(JavaScript 또는 Python)에서 설정 옵션을 열려면 클릭하세요.
- 왼쪽의 플러그인 옵션을 클릭하세요.
- Marketplace 옵션을 클릭 하고 GitHub Copilot 플러그인을 검색하세요 .
- 찾은 후 설치를 클릭하여 플러그인을 설치합니다.
- 설치가 완료되면 IDE에서 다시 시작하라는 메시지를 표시합니다. 다시 시작한 후 IDE를 열고 도구 -> GitHub Copilot -> GitHub에 로그인을 클릭합니다.
- 성공적으로 로그인하면 Copilot을 사용할 수 있습니다.
- Copilot을 사용하려면 코드를 작성하는 동안 아래 단축키를 사용할 수 있습니다.
행동 | 윈도우/리눅스 | 맥 OS |
인라인 제안 트리거 | Alt+\ | 옵션+\ |
다음 제안 보기 | Alt+] | 옵션+] |
이전 제안 보기 | Alt+[ | 옵션+[ |
제안을 수락하세요 | 탭 | 탭 |
인라인 제안 닫기 | Esc | Esc |
새 탭에 모든 제안 표시 | Alt+Enter | Alt+Enter |
예 1: 복잡한 코드를 단순화하려면
Copilot의 리팩토링 기능을 사용하여 복잡한 코드를 단순화하는 방법을 보여주기 위해 아래 코드 조각을 살펴보겠습니다. 여기서는 이해를 돕기 위해 더 큰 프로그램의 일부만 고려하고 있습니다.
리팩토링 전
public void processOrder(Order order) {
//. .. 추가 코드
if (order.isReadyForProcessing()) {
//주문 처리
}
//… 추가 코드
}
Copilot으로 리팩토링한 후
public void processOrder(Order order) {
//. ..추가 코드
processReadyOrder(주문);
//. ..추가 코드
}
private void processReadyOrder(Order order) {
if (order.isReadyForProcessing()) {
//주문 처리
}
}
예시 2: 변수 이름 바꾸기
리팩토링 전
def calculate_area(l, w):
l * w 반환
Copilot으로 리팩토링한 후
def calculate_area(length, width):
반환 길이 * 너비
하지만 리팩토링 후에 변수 “l”과 “w”는 길이와 너비로 대체되었으며, 이는 리팩토링의 필수 기능인 변수 이름 변경을 통해 코드의 명확성을 추가했습니다.
Copilot이 코드를 재구성하는 데 도움을 줄 수 있지만 잘못된 제안, 과도한 의존, 오래된 코드 굴절 등 몇 가지 제한 사항이 있습니다. 제안 사항이 있으면 모든 수동 확인을 거쳐 올바른 프롬프트를 사용하십시오.
GitHub Copilot은 어떤 데이터에 대해 교육을 받았나요?
GitHub Copilot은 GitHub의 공개 저장소에 있는 코드를 포함하여 공개적으로 사용 가능한 소스의 자연어 텍스트 및 소스 코드에 대한 교육을 받았습니다. GitHub, OpenAI 및 Microsoft가 개발한 생성적 AI 모델을 기반으로 합니다.
Copilot과 호환되는 프로그래밍 언어는 무엇입니까?
Github Copilot은 다양한 언어를 지원하지만 특히 JavaScript, TypeScript, Ruby, Python, Go, C++ 및 C#에서 잘 작동합니다.
답글 남기기