GitHub Copilot가 검토 프로세스에 추가하는 내용
코드 검토 및 끌어오기 요청 검토는 품질에 필수적이지만 시간이 많이 걸리고 고르지 않을 수도 있습니다. 개발자는 사려 깊은 피드백을 제공하려고 노력하면서 여러 언어, 일관성 없는 서식 및 큰 차이에 대해 저글링하는 경우가 많습니다. GitHub Copilot는 공동 검토자 및 도우미 역할을 하여 이 워크로드를 용이하게 합니다. 일반적인 문제를 포착하고, 검토 의견을 작성하고, 끌어오기 요청을 요약하고, 보안 위험을 강조 표시하여 검토자가 명확하게 시작할 수 있도록 도와줍니다. 사용자 지정 검토 지침을 사용하면 Copilot가 수행하는 것과 동일한 패턴을 감시하여 팀 및 리포지토리 간에 일관성을 보장할 수 있습니다.
이 단원을 마치면 다음을 수행할 수 있습니다.
- 코드 검토에서 Copilot의 주요 기능을 식별합니다.
- PRU가 고급 검토 기능의 잠금을 해제하는 방법을 설명합니다.
- Copilot 검토가 개발자를 보완하고 돕는 다양한 방식을 이해합니다.
코드 검토에서 Copilot의 주요 기능
Copilot은 검토를 간소화하도록 설계된 몇 가지 기능을 소개합니다.
PR 요약: Copilot는 변경 내용에 대한 명확한 요약과 영향을 받는 파일 목록을 포함하는 끌어오기 요청 설명을 자동으로 초안 작성할 수 있습니다. 이렇게 하면 검토자가 추측이 아닌 컨텍스트로 시작할 수 있습니다.
보안 수정 사항: GitHub Code Scanning에 통합된 Copilot 코드 검토를 사용하면 언어 간에 취약성 플래그가 지정됩니다. 예를 들어 JavaScript에서 Copilot이 eval()에 적절히 처리되지 않은 입력이 전달되는 것을 발견하고 주석을 달 수 있습니다.
"eval()에 사용자 입력이 있는 경우 코드 삽입이 발생할 수 있습니다. JSON.parse()와 같은 안전한 파서로 바꿉니다." 그런 다음 리포지토리의 보안 지침에 맞는 인라인 패치를 제공합니다.
줄별 설명: 검토자는 코드를 강조 표시하고 Copilot에 기능을 설명하도록 요청하여 익숙하지 않은 코드를 빠르게 이해할 수 있도록 도와줍니다.
의견 초안 작성: Copilot는 모범 사례 또는 팀 지침에 따라 검토 의견을 생성하여 피드백을 명확하고 실행 가능하게 만들 수 있습니다.
IDE 검토: GitHub.com 직접 작업하는 것 외에도 Copilot는 IDE 내의 코드를 검토할 수 있습니다. 이를 통해 개발자는 끌어오기 요청을 열기 전에 문제를 파악하고 해결할 수 있으며 프로세스 속도를 향상시키고 재작업을 줄일 수 있습니다.
PRU가 고급 검토 기능을 잠금 해제하는 방법 이해
PRU는 이러한 고급 기능을 지원합니다. 예를 들어 코필로트를 PR 검토자로 할당하면 메모를 게시할 때마다 PRU가 사용됩니다. 사용자 지정 .github/copilot-instructions.md 파일과 결합할 때 PRU 기반 검토는 가독성, 보안 또는 스타일에 초점을 맞추든 관계없이 팀의 규칙에 부합합니다.
예제:
Copilot가 없으면 PR에 "여기서 보안 문제 해결"처럼 검토자의 모호한 의견이 포함될 수 있습니다. 코필로트 + PRU의 도움으로 검토는 다음과 같습니다.
"이 기능을 사용하면 exec() 코드 삽입 취약성이 발생합니다. 더 안전한 명령 실행을 위해 대체해 subprocess.run() 보세요. 다음은 제안된 패치입니다."
또한 코드 수정을 인라인으로 제공합니다.
코필로트 검토가 개발자에게 도움이 되는 5가지 방법
다음으로 Copilot 검토를 통해 보다 스마트하게 작업하는 방법을 살펴보겠습니다.
- 코드 검토 제안
- 여러 언어의 부조종사 리뷰
- 끌어오기 요청에서 데이터 서식 지정
- 유효 끌어오기 요청 요약 작성
- 코드 설명 및 검토
코드 검토에서 코필로트 제안 사용
끌어오기 요청을 검토할 때 개선될 수 있지만 완벽한 예제 또는 코드 조각을 직접 작성할 시간이 없는 영역을 발견할 수 있습니다. GitHub Copilot는 저자의 작업을 인수하지 않고도 이러한 격차를 해소하는 데 도움이 됩니다. 끌어오기 요청 "파일 변경됨" 보기 내에서 코드 줄 또는 블록을 강조 표시하고 Copilot에 개선 사항을 제안하거나 잠재적인 문제에 플래그를 지정하도록 요청할 수 있습니다. 그런 다음, 코필로트는 검토 주석에 복사할 수 있는 구체적이고 컨텍스트 인식 제안을 생성하여 피드백을 더 명확하고 쉽게 작성할 수 있도록 합니다.
예를 들어 반복되는 논리를 사용하여 Ruby 파일을 검토하는 동안 관련 줄을 강조 표시하고 다음을 요청할 수 있습니다.
"반복되는 이 코드에 대해 더 깨끗한 Ruby 리팩터링 제안"
코필로트는 일반적인 Ruby 모범 사례를 따르는 업데이트된 버전을 제안합니다. 고유한 설명과 함께 해당 권장 사항(또는 일부)을 리뷰 주석에 붙여넣을 수 있습니다. 이렇게 하면 검토와 코딩 사이의 경계를 흐리게 하지 않고도 작성자에게 실행 가능하고 높은 가치의 피드백을 제공하면서 전반적인 품질과 디자인에 집중할 수 있습니다.
여러 언어에서 검토
코드 검토를 요청할 때 Copilot는 모범 사례 또는 팀 지침을 따르지 않는 영역을 자동으로 강조 표시할 수 있습니다.
코필로트는 언어의 규칙에 맞는 개선 사항을 신속하게 생성하여 전문 지식의 기본 영역 외부에서도 더 강력하고 정확한 검토 피드백을 제공할 수 있습니다.
끌어오기 요청에 대한 데이터 서식 지정
끌어오기 요청은 메트릭, 스크린샷 또는 테스트 결과와 같은 형식이 올바른 컨텍스트를 포함할 때 훨씬 더 명확합니다. 그러나 팀은 이 콘텐츠의 형식을 일관되게 지정하는 것을 잊어버리는 경우가 많습니다. GitHub Copilot는 코드 검토 중에 두 번째 눈 집합으로 작동하여 끌어오기 요청 설명에서 형식이 잘못된 테이블에 자동으로 플래그를 지정하고 회사의 스타일 지침에 맞는 더 깨끗한 버전을 제안할 수 있습니다.
예: 개발자가 다음 페이지 로드 시간 표와 함께 끌어오기 요청을 제출합니다. 읽기 어렵고 팀의 Markdown 스타일 가이드를 따르지 않습니다.
| 테스트 실행 | 로드 시간 전 (LoadTimeBefore) | LoadTimeAfter |
|---|---|---|
| 1.3 | 1.2 | |
| 1.2 | 1.1 | |
| 1.1 | 0.885 | |
| 1.3 | 1.3 | |
| 1.2 | 0.918 | |
| Average | 1.22 | 1.0806 |
검토하는 동안 코필로트는 댓글을 게시합니다.
"이 테이블은 리포지토리의 Markdown 지침을 따르지 않습니다. 다음은 회사의 스타일 가이드에 따라 정리된 버전입니다."
또한 PR 설명에 붙여넣을 준비가 된 수정된 버전이 포함됩니다.
| 테스트 실행 | 이전 로드 시간(초) | 업데이트 후 로드 시간(초) |
|---|---|---|
| 1 | 1.3 | 1.2 |
| 2 | 1.2 | 1.1 |
| 3 | 1.1 | 0.885 |
| 4 | 1.3 | 1.3 |
| 5 | 1.2 | 0.918 |
| 평균 | 1.22 | 1.0806 |
검토자는 한 번의 클릭으로 Copilot의 제안을 수락하여 PR이 다시 포맷하는 데 시간을 소비하지 않고 회사 스타일을 따르도록 할 수 있습니다.
이는 코필로트가 자동 검토자(코딩 에이전트 아님)로 작동하는 것을 보여 줍니다. 형식이 지정되지 않은 테이블을 보고, 회사 지침을 .github/copilot-instructions.md적용하고, 수정된 버전을 인라인으로 제공합니다.
효과적인 끌어오기 요청 요약 작성
PR 설명을 작성하는 것은 종종 프로세스의 마지막 단계이며 장애물처럼 느껴질 수 있습니다. 코필로트는 이것을 더 쉽게 만듭니다. PR 설명 편집기에서 Copilot 아이콘을 사용하여 초안 요약 또는 개요를 생성할 수 있습니다. 편집을 하더라도 잘 구성된 시작점을 사용하면 시간이 절약되고 검토자에게 필요한 정보가 제공됩니다.
코드 설명 및 검토
끌어오기 요청의 코드에 익숙하지 않은 경우가 있습니다. 그것을 통해 고군분투 하는 대신, 변경 내용을 설명 하는 코필로트를 요청할 수 있습니다. 코필로트는 팀원의 피드백을 요청하기 전에 사용자 고유의 PR에 대한 초기 검토를 실행할 수도 있습니다. 이렇게 하면 더 작은 문제를 해결하고, 모범 사례의 유효성을 검사하며, 제출 품질에 대한 확신을 얻을 수 있습니다.
이제 코드 검토와 관련하여 Copilot가 무엇을 할 수 있는지 알 수 있습니다. 다음으로, GitHub.com 직접 Copilot 리뷰를 사용하는 방법을 살펴보겠습니다.