Skip to main content

GitHub Code Quality의 책임 있는 사용

목적, 기능 및 제한 사항을 이해하여 책임감 있게 사용합니다 GitHub Code Quality .

참고

          GitHub Code Quality 가 현재 있으며 공개 미리 보기 변경될 수 있습니다.
          공개 미리 보기 동안에는 요금이 청구되지 않지만, Code Quality 스캔은 GitHub Actions 분을 소모합니다.

          GitHub Code Quality 정보

          GitHub Code Quality 사용자가 활용 가능한 피드백을 제공하고 끌어오기 요청 및 기본 분기의 발견된 문제에 대한 자동 수정 사항을 제공하여 코드 안정성, 유지 관리 효율성 및 전반적인 프로젝트 상태를 개선하는 데 도움이 됩니다.

          Code Quality을(를) 활성화하면, 두 가지 유형의 분석이 실행됩니다.

* ** CodeQL 품질 쿼리는** 분석을 사용하여 code scanning 실행되며 유지 관리 가능성, 안정성 또는 코드 스타일 문제를 식별합니다. 기본 분기에 대한 모든 끌어오기 요청에서 변경된 코드에서 실행됩니다. 또한 전체 기본 브랜치에서 주기적으로 실행됩니다.

  •         **LLM(대규모 언어 모델) 기반 분석은** 다음과 같은 CodeQL결정적 엔진에서 다루는 것 이상으로 잠재적인 품질 문제에 대한 추가 인사이트를 제공합니다. 최근 푸시에서 기본 분기로 변경된 파일에서 자동으로 실행됩니다. 리포지토리의 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 탭 아래에 있는 **AI 결과** 대시보드의 Code Quality 결과가 표시됩니다.
    

두 가지 유형의 분석 Copilot 자동 수정 에서 품질 문제가 감지되면 개발자가 검토하고 적용할 수 있는 관련 수정 사항을 제안합니다.

끌어오기 요청 Code Quality에서 결과는 가능한 경우 제안된 자동 수정을 포함한 봇이 남긴 github-code-quality 주석으로 표시됩니다.

최근에 진행된 푸시에 대한 LLM 기반 분석

각 기본 분기로 푸시한 후 LLM은 최근 변경된 파일을 분석하여 유지 관리 효율성, 안정성 및 기타 품질 문제를 해결합니다. Code Quality 는 코드를 검사하고 자연어 처리 및 기계 학습의 조합을 사용하여 피드백을 제공합니다.

입력 처리

코드 변경 내용은 다른 관련 상황별 정보와 결합하여 프롬프트를 구성하고 해당 프롬프트는 큰 언어 모델로 전송됩니다.

언어 모델 분석

그런 다음 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 언어 모델 Copilot을 통해 전달됩니다. 언어 모델이 입력 프롬프트를 분석합니다.

응답 생성

언어 모델은 입력 프롬프트에 대한 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안 및 코드 제안의 형태를 취할 수 있습니다.

출력 형식

생성된 Code Quality 응답은 사용자에게 직접 표시되어 특정 파일의 특정 줄에 연결된 코드 피드백을 제공합니다. 코드 제안을 제공한 경우 Code Quality 제안 사항은 몇 번의 클릭으로 적용할 수 있는 제안된 변경으로 표시됩니다.

          GitHub Copilot Autofix 제안

끌어오기 요청 시 Code Quality 분석에서 code scanning 찾은 결과는 LLM에 입력을 보냅니다. LLM이 잠재적인 수정을 생성할 수 있는 경우 봇은 github-code-quality 끌어오기 요청에 직접 제안된 변경 내용이 포함된 댓글을 게시합니다.

또한 사용자는 기본 분기의 결과에 대한 자동 수정 생성을 요청할 수 있습니다.

제안 생성 프로세스에 대한 자세한 내용은 GitHub Copilot Autofix을 참조하세요.

에 대한 사용 사례 GitHub Code Quality

목표는 GitHub Code Quality 다음과 같습니다.

  • 리포지토리 전체에서 코드 품질 문제를 노출하므로 개발자와 리포지토리 관리자는 위험 영역을 신속하게 식별, 우선 순위 지정 및 보고할 수 있습니다.
  • 기본 분기의 스캔에서 발견된 결과에 대한 제안과 기본 분기로의 최근 푸시에 대한 제안을 제공하여 Copilot 자동 수정 수정 작업을 가속화합니다.
  • 개발자 코드에 대한 실행 가능한 피드백을 신속하게 제공합니다. 끌어오기 요청 Code Quality 에서 모범 사례에 대한 정보와 코드베이스의 세부 정보 및 결과를 결합하여 개발자에게 잠재적인 수정 사항을 제안합니다.

의 성능 향상 GitHub Code Quality

풀 요청에 대한 권장 수정과 관련된 문제나 제한 사항이 있는 경우, github-code-quality 봇의 주석에 좋아요 및 싫어요 버튼을 사용하여 피드백을 제공하세요. 이는 도구를 개선하고 우려 사항 또는 제한 사항을 해결하는 데 도움이 될 GitHub 수 있습니다.

의 제한 사항 GitHub Code Quality

LLM 기반 분석의 Code Quality제한 사항

          Code QualityLLM 기반 분석은 동일한 기본 언어 모델 및 분석 엔진 GitHub Copilot 코드 검토을 사용합니다. 따라서 코드 품질을 분석할 때도 비슷한 제한 사항을 공유합니다. 주요 고려 사항은 다음과 같습니다.
  • 불완전한 탐지
  • 위양성
  • 코드 제안 정확도
  • 잠재적 편향성

이러한 제한 사항에 대한 자세한 내용은 GitHub Copilot 코드 리뷰의 책임 있는 사용을 참조하세요.

항상 LLM 기반 분석으로 표시되는 GitHub Code Quality결과를 검토하여 코드베이스에 대한 정확성과 적용 가능성을 확인해야 합니다.

의 제한 사항 Copilot 자동 수정

          Copilot 자동 수정 의 Code Quality 는 모든 상황에서 모든 발견에 대한 수정을 생성할 수 없습니다. 이 기능은 최상의 노력으로 작동하며 100% 성공하도록 보장되지 않습니다.

제안을 Copilot 자동 수정검토할 때는 변경 내용을 적용하기 전에 항상 AI의 제한 사항을 고려하고 필요에 따라 변경 내용을 편집해야 합니다. 제안을 적용하기 전에 항상 신중하게 검토하고 확인해야 Copilot 자동 수정 합니다.

제한 사항Copilot 자동 수정, 제안 품질 Copilot 자동 수정 및 제한 사항을 완화하는 가장 좋은 방법에 대한 자세한 내용은 코드 검사에 대한 Copilot Autofix의 책임 있는 사용을 참조하세요.

피드백 제공

          GitHub Code Quality 피드백을 [](https://github.com/orgs/community/discussions/177488) 제공할 수 있습니다.

다음 단계

기본 분기에서 GitHub Code Quality가 코드 품질 문제를 어떻게 드러내고 리포지토리의 코드 상태를 한눈에 파악할 수 있게 도와주는지 확인해 보세요. GitHub 코드 품질에 대한 빠른 시작을(를) 참조하세요.