Github Copilot을 사용하여 코드 리뷰를 레벨 업 및 요청하는 방법

Github Copilot을 사용하여 코드 리뷰를 레벨 업 및 요청하는 방법

거의 3 년 전에 청구 팀의 소프트웨어 엔지니어로 Github에 합류 한 이후로 Github Copilot을 포함한 AI 코딩 도구의 진화를위한 앞줄 좌석이있었습니다. 코드 완성으로 시작된 것은 에이전트 워크 플로 및 리팩토링 제안을 포함하여 훨씬 더 많은 것으로 발전했습니다. Copilot을 처음 사용하기 시작했을 때 주로 VSCODE에서 사용하고있었습니다. Colecilot이 성장하고 확장함에 따라 코드 편집기를 넘어서서 풀 요청, 코드 검토 등을 포함하여 일상적인 작업의 모든 부분으로 사용한 사용 사례를 확장했습니다.

Github Copilot은 이제 소프트웨어 개발 수명주기의 모든 부분에서 사용할 수 있으며 매우 유용한 곳은 풀 요청을 작성하고 코드 검토를 수행 할 때입니다. Github에서 시간 동안, 나는 Puplot이 풀 요청 및 코드 검토 프로세스에서 차이를 만들 수있는 실용적인 방법을 발견했습니다. 다음은 내가 시작한 몇 가지 작업이 내 워크 플로를 더 매끄럽고 효율적으로 만들었습니다.

코드를 검토 할 때 Coplot 제안을 사용합니다

종종 팀원의 풀 요청을 검토 할 때 코드가 어떻게 개선 될 수 있는지에 대한 아이디어를 얻거나 코드가 모범 사례를 따르고 있는지 확인하려고합니다. 그러나 제안 된 리팩토링 된 코드를 직접 쓸 시간이 항상있는 것은 아닙니다. 이 경우 검토중인 파일 옆에있는 Copilot 아이콘을 클릭하고 Copilot에게 현재 검토중인 코드 라인에 대한 구체적인 개선을 제안하도록 요청합니다. 그런 다음 제안이 코드를 개선 할 것이라고 생각하는 이유에 대한 설명과 함께 검토 의견에 그 제안을 추가하겠습니다.

최근 팀원의 코드를 검토하는 동안 루비 파일에 반복적 인 코드가 나타났습니다. 관련 코드 옆에 Copilot 아이콘을 클릭하고 다음과 같이 표시했습니다.

> “Can you refactor this Ruby on Rails code to reduce repetition?”

Colecilot의 제안은 내가 쓴 내용과 일치하고 몇 분 동안 저를 저장했으며, 이로 인해 더 높은 수준의 피드백에 집중할 수있었습니다.

컨텍스트를 전환하고 Ruby, TypeScript 및 Go와 같은 다른 언어로 코드를 자주 전환하므로 때로는 각 언어에 대한 모범 사례에 대한 알림이 필요합니다. 최근 에이 프롬프트를 사용하여 GO 코드를 검토하는 데 도움이되었습니다.

> “Is this code addition following Go best practices for variable assignment? If not, can you suggest improvements?”

Colecilot은 코드 검토 의견의 일부로 검토하고 사용한다는 제안을 신속하게 생성했습니다. 시간을 절약하고 피드백을 더욱 실행 가능하게 만들었습니다.

GITHUB PULL 요청의 스크린 샷 GO 파일에 대한 짧은 변수 선언

풀 요청에 대한 테이블 및 데이터 포맷

리뷰어가 내 변경 사항을 이해하도록 돕기 위해 컨텍스트를 추가하기 위해 이미지, 화면 녹음 및 때때로 스프레드 시트를 추가 요청 설명에 추가하고 싶습니다. Markdown에 이러한 유형의 정보를 추가하면 지루할 수 있습니다! 이 경우 Copilot에게 저를 위해 서식을하도록 요청합니다.

최근에 React 페이지의로드 시간을 줄이기 위해 약간의 개선 사항을 연구하고 있었으며 변경 사항이 개선 된 개선 사항을 보여주고 싶었습니다. 변경 전후에 페이지로드 시간을 자세히 설명하는 스프레드 시트를 유지했으며 풀 요청 설명에 포함시키고 싶었으므로 Copilot은 다음과 같습니다.

Format this data into a GitHub flavored markdown table that I can paste into a GitHub pull request description: 	

Load Time Before (in seconds)	Load Time After Updates (in seconds)
	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

그리고 Colecilot은 다음과 같이 반응했습니다.

Here’s your data formatted as a GitHub-flavored markdown table, ready to paste into a pull request description:
Markdown
| Test Run | Load Time Before (seconds) | Load Time After Updates (seconds) |
|----------|---------------------------|-----------------------------------|
| 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                             |
| **Average** | **1.22**                  | **1.0806**                         

Let me know if you’d like any adjustments!

이 간단한 속임수를 통해 풀 요청 설명 및 댓글에서 데이터를 명확하게 공유하는 것이 훨씬 쉬워졌습니다.

Copilot이 풀 요청 요약을 작성하는 데 도움이됩니다

나는 종종 pupilot을 사용하여 풀 요청 요약을 작성하는 데 도움이됩니다. 우리는 모두 거기에있었습니다 : 당신은 마침내 버그를 수정하거나 새로운 기능을 소개 한 후 풀 요청을 열면 마지막 장애물은 풀 요청 설명을 작성하는 것입니다. Colecilot은 풀 요청 설명 편집기 막대에서 Copilot 아이콘을 사용 하여이 프로세스를 시작하는 데 도움이 될 수 있습니다. 텍스트를 편집하더라도 출발점이 있으면 덜 어려워집니다.

GitHub 풀 요청 페이지의 스크린 샷

코드 검토에 Copilot 사용 및 익숙하지 않은 코드 이해

Copilot은 코드를 검토하고 설명하는 데 매우 능숙하며 일상적인 작업에서 이것을 활용하는 두 가지 방법은 Copilot에서 초기 코드 검토를 요청하고 익숙하지 않은 코드에 대한 질문을합니다.

풀 요청을 검토 준비로 표시하기 전에 Copilot을 사용하여 Copilot에서 코드 검토를 요청하여 변경 사항을 빠르게 통과 할 수 있습니다. 그것은 종종 내가 놓친 것들을 잡거나 무언가를 쓰는 더 좋은 방법을 제안합니다. 또한 풀 요청을 검토 할 때 Copilot이 원하는 것에 대한 저장소의 사용자 정의 지침에 메모를 추가하는 것을 잊지 마십시오.

다른 사람의 코드를 검토하고 변화를 이해하지 못하면 Copilot에게 설명 해달라고 요청합니다. 이것은 특히 코드베이스의 해당 부분에 익숙하지 않을 때 컨텍스트를 빠르게 얻는 데 도움이됩니다. 이 코드에 대한 더 나은 이해를 통해 팀원들에게보다 신중하고 철저한 코드 리뷰를 제공 할 수 있으며 승인하는 풀 요청의 잠재적 영향을 완전히 이해할 수 있습니다.

Copilot의 코드 검토 및 요청 요청에 미치는 영향

Colecilot은 사려 깊고 참여한 코드 리뷰를 대체하지는 않지만 소프트웨어 엔지니어로서 매일 워크 플로우에서 필수 도구가되었습니다. 스마트 제안 및 코드 리팩터 생성에서 빠른 마크 다운 형식 및 제도 풀 요청 요약에 이르기까지 Copilot은 피드백을보다 실행 가능하고 코드 검토 프로세스를보다 빠르고 철저하게 만들어 코드 작성 작업을 간소화하는 데 도움이됩니다. Copilot을 소프트웨어 개발 수명주기의 모든 단계에 통합함으로써 높은 수준의 엔지니어링 문제 및 협업에 중점을 둘 수 있습니다. Colecilot이 계속 발전함에 따라, 나는 그것이 내 워크 플로뿐만 아니라 개발자가 어디에서나 소프트웨어를 함께 구축하는 방식을 어떻게 변화 시킬지 알게되어 기쁩니다.

시작하세요 github copilot>와 함께>

작성자가 작성했습니다

멜리사 파스토르

청구 엔지니어링 팀의 소프트웨어 엔지니어

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다