Skip to main content

리포지토리 코드의 품질 향상

코드베이스의 품질을 향상시킬 수 있도록 기본 분기에서 검색된 코드 품질 문제를 평가하고 수정합니다. 진행하면 결과적으로 리포지토리의 코드 품질 등급이 상승하는 것을 볼 수 있습니다.

누가 이 기능을 사용할 수 있나요?

쓰기 권한이 있는 사용자

GitHub Team 또는 GitHub Enterprise Cloud

참고

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

소개

이 자습서에서는 GitHub Code Quality를 사용하여 리포지토리 전체에서 코드 상태 문제를 검토, 우선 순위 지정 및 수정하여 기술 부채를 체계적으로 줄이고 안정성 및 유지 관리를 개선하며 이해 관계자에게 영향을 전달하는 방법을 안내합니다.

필수 조건

  • 사용자의 리포지토리에 Code Quality가 활성화되어 있습니다. GitHub Code Quality를 활성화합니다.을(를) 참조하세요.
  • GitHub Code Quality를 최초로 활성화하는 경우, 기본 분기의 전체 CodeQL 검색이 완료되기까지 몇 분 간 기다려주세요.

1. 리포지토리의 전체 코드 상태 평가

  1. 리포지토리의 "보안" 탭으로 이동한 다음 " 코드 품질"에서 표준 결과 를 클릭하세요.

  2. "표준 결과" 대시보드의 개요는 현재 사용자의 기본 분기를 즉시 평가합니다.

    •      **유지 관리 등급** 은 데드 코드, 중복, 복잡성, 누락된 설명서 및 모범 사례를 따르지 못한 결과에 대한 존재 및 심각도를 반영합니다.
      
    •      **안정성 등급** 은 코드의 정확성, 성능, 오류 처리, 동시성 및 접근성에 대한 결과의 존재 및 심각도를 반영합니다.
      

    Code Quality에 대한 "표준 결과" 보기에서 코드 품질 등급의 스크린샷.

2. 가장 영향력 있는 결과 식별 및 우선 순위 지정

"표준 결과" 보기에서는 리포지토리의 기본 분기에 대한 Code Quality의 최종 스캔 결과를 표시합니다. 이러한 결과는 다음과 같습니다.

  •         **규칙**별로 그룹화되므로 코드베이스에 가장 영향을 주는 문제 유형을 확인할 수 있습니다.
    
  •         **심각도** 수준("오류", "경고", "참고")이 할당되었습니다.
    

높은 심각도 결과에 집중

대시보드 필터를 사용하여 가장 높은 심각도 결과("오류")에 초점을 맞추고 가장 많은 문제를 생성하는 규칙을 검토합니다.

"표준 결과" 보기에 대한 대시보드 필터를 표시하는 스크린샷.

리포지토리의 유지 관리 가능성 또는 안정성 등급을 향상하려면 해당 메트릭에 대한 심각도가 가장 높은 모든 결과를 해결(수정 또는 해제)해야 합니다.

예를 들어, 리포지토리의 "안정성" 메트릭을 개선 필요에서 보통으로 개선하려면 안정성에 영향을 주는 모든 오류 수준 결과를 해결해야 합니다. 하나 이상의 오류 수준 결과가 있는 경우 등급은 "개선 필요"보다 높을 수 없습니다. 메트릭 및 등급 참조을(를) 참조하세요.

3. 발견된 결과들의 그룹 조사 및 맥락 이해

해결하려는 결과가 여러 개 있는 규칙을 식별한 후에는 더 자세히 조사하여 기본 문제를 파악할 수 있습니다.

  1. 규칙 이름을 클릭하여 해당 규칙에 대한 모든 결과를 자세히 볼 수 있습니다.

    "표준 결과" 보기의 규칙을 보여주는 스크린샷. 규칙 이름이 진한 주황색으로 강조 표시됩니다.

  2.        **자세히 표시**를 클릭한 다음 규칙의 설명, 권장되는 수정 사항, 코드 예제 및 참조를 검토합니다.
    

    코드 품질 규칙의 결과를 보여 주는 스크린샷 "자세히 표시" 텍스트가 진한 주황색으로 강조 표시됩니다.

4. 수정 옵션 선택

유효성, 영향 및 위험에 대해 강조 표시된 모든 결과를 평가합니다. 품질 등급을 개선하려면 각 결과를 수정하거나 해제하도록 선택하여 해결해야 합니다.

자동 수정 생성

검색 결과가 코드베이스에 유효하고 관련성이 있는 경우 제안된 수정 사항을 생성할 수 있습니다.

  1. 각 결과의 우측으로 수정물 생성을 클릭합니다.

  2. 제안된 변경 내용의 diff를 주의 깊게 검토하고 동의하는 경우 끌어오기 요청 열기를 클릭합니다.

  3. "Commit autofix to branch" 대화상자에서 "풀 요청 열기(Open a pull request)"를 선택한 후 변경 내용 커밋(Commit change) 을 클릭합니다.

    현재는 결과 그룹에 대한 자동 접두사를 대량으로 생성할 수 없습니다.

    단일 풀 리퀘스트로 여러 발견사항을 해결하려면, 위의 1단계와 2단계를 반복한 후 "자동 수정을 브랜치에 커밋" 대화 상자에서 첫 번째 자동 수정을 위해 이미 만든 브랜치 이름을 사용한 다음 "풀 리퀘스트 열기"를 선택하고 변경 내용을 커밋합니다.

    수정 사항은 귀하의 브랜치에 대한 기존 초안 풀 리퀘스트에 추가될 예정입니다.

  4. 준비가 되면 끌어오기 요청 상태를 "초안"에서 "검토 준비 완료"로 변경하고 제안된 변경 내용을 신중하게 검토합니다. 끌어오기 요청을 병합하기 전에 CI 검사 및 자동화된 테스트가 완료되고 통과될 때까지 기다립니다.

결과 해제

다시 사용 가능한 코드 품질. 관련 없는 결과 무시 %}

  1. 결과를 해제하려면 를 클릭하세요.
  2. 발견은 열린 결과 목록에서 사라집니다. 페이지 맨 위에 있는 "해제됨" 탭 아래에서 해제된 결과를 검토하고 다시 열 수 있습니다.

5. 개선 사항 측정 및 영향 전달

수정 작업이 완료되면 "표준 결과" 대시보드로 돌아가 업데이트된 안정성 및 유지 관리 기능 메트릭을 검토합니다.

이해 관계자에게 미치는 영향을 전달할 때 다음을 강조 표시합니다.

  • "신뢰성" 또는 "유지관리성"에 대한 발견 수의 감소가 있습니다.
  • 안정성 또는 유지 관리 등급에 대한 등급 변경
  • 등급 변경을 달성하기 위해 충족된 요구 사항입니다. 예를 들어 모든 "경고" 수준 결과 수정으로 인해 등급이 "공정"에서 "좋음"으로 변경되었습니다.

품질 등급의 개선 사항과 결과 수 감소를 사용하여 진행 상황을 보여 줍니다.

6. 끌어오기 요청에 대한 코드 품질 표준 적용

아직 설정하지 않은 경우 끌어오기 요청에 대한 품질 임계값을 설정하여 코드베이스의 상태를 줄이는 코드베이스의 변경 내용을 차단합니다. 끌어오기 요청에 대한 코드 품질 임계값 설정을(를) 참조하세요.

다음 단계

  • 최근에 변경된 파일의 결과를 수정하여 기술 부채를 더 줄입니다. AI를 사용하여 최근에 병합된 코드의 품질 향상을(를) 참조하세요.
  •         [커뮤니티 토론](https://github.com/orgs/community/discussions/177488)에서 GitHub Code Quality와 관련해 피드백을 제공하세요.