GitHub Copilot 최대한 활용하기
GitHub Copilot 이 출시 되었을 때 즉시 사용해 보았습니다. 그 주장은 사실이 되기에는 너무 좋은 것 같았습니다.
내가 찾은 것은 정반대였습니다 . 광고보다 낫 습니다. 나는 그것에 너무 충격을 받아… 그것에 대해 트윗조차 하지 않았습니다. 공짜로 주기에는 너무 큰 장점이라고 생각했어요!
저는 Copilot이 매우 영향력이 있다는 것을 알게 되었고 2021년 팀 수련회를 가졌을 때 제 CTO 프레젠테이션의 전체 섹션을 Copilot에게 바쳤습니다. Copilot 사용은 Infinite Red의 모든 도구만큼 "필수"에 가까워졌습니다. 게임 체인저만큼 큰 게임 체인저였습니다.
Copilot이 내 코딩 작업 흐름에 대해 수행하는 작업
나는 정상적인 상황에서 상당히 빠른 코더입니다. 부조종사는 내 속도를 두 배로 늘립니다.
나는 가벼운 ADHD가 있고 가장 큰 어려움 중 하나는 집중하는 것입니다. "흐름 상태"에 도달하면 멈출 수 없습니다. 이 문제로 어려움을 겪고 있는 것이 나 혼자가 아니라고 생각합니다. 그렇지 않더라도 여전히 "실패"하고 프롬프트가 필요한 순간이 있을 수 있습니다.
내 이상적인 코딩 흐름에는 항상 페어링이 포함된다는 것을 알게 되었습니다. 좋은 짝은 나를 계속 집중하게 하고, 다음에 필요한 것이 무엇인지 예상하고, 제안을 하고, 나를 참을성 있게 대해 줍니다. 이제 Copilot이 해당 역할을 자동으로 채웁니다. 나는 몇 가지 코드를 작성하고 내 두뇌가 다른 주제로 넘어가려고 하는 특정 지점에 도달할 것이지만, 그 약간의 일시 정지는 Copilot이 제안과 함께 팝업을 표시하기에 충분하여 다시 집중을 촉발합니다.
부조종사의 한계
일반적인 실수는 Copilot에서 좋지 않은 결과를 얻고 도구를 비난하는 것입니다. Copilot은 대부분의 경우 필요한 방식으로 코드를 작성하지 않습니다. 컨텍스트, 단서 및 액세스할 수 있는 교육 데이터의 양을 기반으로 최선을 다합니다. 그리고 다른 도구와 마찬가지로 최대한 활용하려면 사용 방법을 배워야 합니다.
Copilot을 최대한 활용하는 방법에 대해 이야기해 봅시다.
컨텍스트에 대한 선행 주석 작성
컨텍스트는 페어 프로그래머와 AI 코딩 어시스턴트 모두에게 중요합니다. 함수가 무엇을 위한 것인지, 어떤 인자를 취해야 하는지, 무엇을 반환해야 하는지에 대한 좋은 아이디어를 평이한 영어로 제공하는 명확한 주석을 작성하는 것부터 시작하세요. 귀하의 의견이 모호한 경우 모호한 결과를 기대하십시오.
더 나은 의견은 Copilot에게 더 나은 정보를 제공합니다.
원하는 결과를 얻을 때까지 돌아가서 댓글을 조정하는 것을 주저하지 마십시오. 물론 코드를 손으로 편집할 수 있지만 설명적인 주석을 잘 작성하면 향후 코드에서도 더 잘 작동할 것입니다.
이 경우 "Typed function"을 추가하면 함수 인수에 유형이 도입되었습니다.
이러한 주석은 있는 그대로 읽을 수 있지만 코드를 읽는 사람을 위한 것은 아닙니다. 작업이 끝나면 항상 돌아가서 인간 독자를 위해 미세 조정합니다.
키보드 단축키 알아보기
VS Code를 사용하는 경우 여기에서 바로 가기 목록을 찾을 수 있습니다 .
- 인라인 제안 수락:
Tab - 인라인 제안 닫기:
Esc - 다음 인라인 추천 표시:
Option (⌥)+] - 이전 인라인 제안 표시:
Option (⌥)+[ - 인라인 제안 트리거:
Option (⌥)+\ - GitHub Copilot 열기:
Ctrl+Return
Tab/ 외에 내가 가장 많이 사용하는 것은 Esc과 Option+[입니다 ]. 이렇게 하면 가장 유용한 제안이 나올 때까지 제안을 순환할 수 있습니다.
작업할 Copilot 구조 제공
때때로 Copilot은 도우미 함수로 추출하려는 항목을 인라인합니다. 생성된 함수를 완전히 제거하고 도우미 함수를 먼저 빌드하면 Copilot이 일반적으로 이를 선택하여 앞으로 사용합니다.
이것은 하드 코딩된 상수 값과 같은 다른 것에도 적용됩니다. 생성된 코드 바로 위에 이름이 잘 지정된 변수를 추가하면 Copilot이 이를 통합합니다.
Copilot은 CLI 명령으로 도움을 줄 수 있습니다.
당신이 나와 비슷하고 많은 git 명령을 기억할 수 없다면 Copilot도 도움이 될 수 있습니다.
빈 탭에 다음과 같이 작성합니다.
완벽하지는 않지만 가까이 갈 수 있는 충분한 단서를 제공할 것입니다!
Copilot은 테스트 작성과 같은 반복 작업에 탁월합니다.
스트림에서 가장 충격적인 순간 중 하나는 Copilot이 내가 구축하고 있는 상당히 복잡한 기능에 대한 정확한 테스트를 작성했을 때였습니다. 살펴보세요(타임스탬프 2:23:00):
Copilot도 댓글을 작성할 수 있습니다!
주석을 작성하면 Copilot의 코드 작성에 도움이 되지만 코드 작성은 Copilot의 주석 작성에도 도움이 됩니다!
기존 코드가 있고 이를 문서화해야 하는 경우 Copilot은 종종 그것이 무엇인지 어느 정도 알 것입니다.
Copilot이 코드를 설명할 수 있습니다(Copilot Labs를 통해).
Copilot Labs 확장 프로그램을 설치한 경우 측면 패널에서 열고 텍스트 블록을 강조 표시하면 Copilot이 최선을 다해 일반 영어로 설명합니다.
코드를 유창하게 읽을 수 있기 때문에 이것이 그다지 유용하지 않다는 것을 알았지만 일부 코드가 특히 애매한 경우 유용할 수 있습니다.
Copilot은 새로운 코딩 언어를 배우는 데 도움을 줄 수 있습니다.
react-native-colo-loco 를 빌드할 때 Groovy로 작성된 Gradle 스크립트를 작성해야 했습니다. 나는 Groovy를 조금 알고 있지만 많지는 않습니다. 그래서 정확하고 정확한 주석을 작성하는 데 집중했고 Copilot이 코드 줄을 제안하도록 했습니다. 그런 다음 내 개발 경험에 의존하여 패턴과 구문을 파악하고 거기에서 시작할 수 있습니다.
여기에서 결과를 볼 수 있습니다 (거의 모든 부조종사 주석이 무엇인지 보여주기 위해 남겨두었습니다).
Copilot의 코드가 잘못된 경우 계속 빌드하십시오.
Copilot은 컨텍스트를 좋아합니다. 더 많이 구축할수록 더 많은 컨텍스트가 있고 더 유용해집니다. MobX-State-Tree 의 일부를 다시 빌드하기로 결정했을 때 Copilot은 코드 베이스의 나머지 부분을 검사할 수 있었기 때문에 매우 도움이 되었습니다. (리팩터는 출시되지 않았지만 훌륭한 학습 연습이었습니다.)
아직 초기 단계이지만 저는 GitHub Copilot에 대해 꽤 낙관적입니다. 다른 팁이 있으면 트위터 로 알려주세요 !
감사의 말:
- 여기에서 Copilot에 대한 그녀의 이야기에 대해 Rizèl Scarlett에게 감사합니다(볼 가치가 있습니다!).https://www.youtube.com/watch?v=CuQSoHbOpTQ
- Copilot에 대한 그녀의 훌륭한 기사에 대해 Marie Prokopets에게 감사드립니다(이 기사도 읽어야 합니다!).https://nira.com/github-copilot/
- 이 기사 맨 위에 멋진 그래픽을 제공한 Jenna Fucci 에게 감사드립니다 !

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































