본문으로 건너뛰기

Code Analysis

코드 분석 대시보드는 코드 품질에 대한 심층 분석을 위한 도구로, 신뢰성, 보안 및 유지 관리성과 같은 메트릭을 추적하여 코드 품질을 개선하고 잠재적인 문제를 사전 예방적으로 방지합니다.

코드 분석 대시보드

사이드바 메뉴에서 대시보드/Code Analysis를 선택합니다:

주요 기능

Code Analysis Dashboard에서 아래 작업을 수행할 수 있습니다:

  1. 보고서를 검색합니다. 보고서는 다음과 같이 필터링됩니다:

    • 프로젝트별 필터링
    • 프로젝트 및 프로젝트 프로필별 필터링
    • 프로젝트 및 프로필 및 프로필의 애플리케이션별 필터링
    • 프로젝트 및 프로젝트 그룹별 필터링
    • 프로젝트 및 프로필, 프로젝트 그룹별 필터링
  2. 현재 코드 품질 대시보드의 URL을 복사합니다.

  3. 대시보드를 재설정합니다:

재설정 버튼을 클릭하면 선택된 프로젝트, 프로필, 애플리케이션 및 그룹에 대한 모든 데이터가 재설정됩니다.

  1. Sonar를 구성합니다:

사용자가 Sonar 구성 화면으로 이동할 수 있도록 하여 프로젝트 세부정보, 프로필 세부정보, 애플리케이션 세부정보를 보고, 새 구성을 생성하고, 수동으로 동기화를 가져오고, 구성을 편집하고, 구성을 삭제할 수 있습니다.

  1. 차트/테이블을 활성화하거나 비활성화하여 표시된 보고서를 사용자 정의합니다.

  1. 데이터 보기와 차트 보기 간의 보기 모드를 전환합니다.

  2. 대시보드에서 특정 보고서 차트를 확장합니다.

  3. PR(풀 요청) 모드와 비-PR(비 풀 요청) 모드 간 전환: With mode PR: 보드는 풀 리퀘스트에서의 커밋 데이터를 보여주며, 이는 풀 리퀘스트 워크플로우의 일부로, 일반적으로 메인 브랜치에 병합하기 전에 코드 리뷰에 사용됩니다.

With non PR: 보드는 풀 리퀘스트가 없는 커밋 데이터를 보여주며, 이는 직접 커밋(예: 메인 브랜치나 다른 브랜치에 직접 푸시된 커밋)으로, 어떤 풀 리퀘스트와도 관련이 없습니다.

기본적으로 대시보드는 PR 모드로 표시됩니다.

주요 구성 요소

이 대시보드는 코드 품질을 평가하는 데 필요한 주요 지표를 제공하여 개발자가 코드베이스의 신뢰성, 보안성 및 유지 관리성을 평가하고 개선할 수 있도록 합니다. 주요 구성 요소는 다음과 같습니다:

Line of Code (LOC): 코드베이스의 총 코드 라인 수의 추세를 시각화하여 코드 성장을 모니터링하는 데 도움을 줍니다.

LOC의 증가는 새로운 기능이나 수정 사항의 추가를 반영하며, 프로젝트 범위나 복잡성의 변화를 이해하는 데 도움을 줍니다.

  • Y축 (코드 라인 수): 프로젝트의 총 코드 라인 수를 나타냅니다.
  • X축 (시간): 코드 라인 측정이 이루어진 날짜를 나타내는 타임라인을 보여줍니다.

Code Churn: 시간에 따라 추가되거나 삭제된 코드 라인을 표시하여 코드 변경의 빈도를 나타내며, 코드 안정성과 수정 빈도를 평가하는 데 도움을 줍니다.

높은 변동률은 활성 기능 업데이트 또는 리팩토링 기간을 나타낼 수 있습니다. 이 그래프를 모니터링하는 것은 코드 안정성을 유지하는 데 도움이 됩니다.

  • Y축 (변경 사항): 추가, 삭제 및 수정 사항을 포함한 코드 변경 수를 나타냅니다.
  • X축 (날짜): 코드 변경이 발생한 날짜를 보여줍니다.

Reliability: 코드베이스에서 감지된 버그 수를 보여주어 코드 신뢰성을 평가합니다.

이 지표는 코드 신뢰성을 평가하며, 버그 수가 많을수록 안정성이 낮음을 나타냅니다. 이는 품질 개선이 필요한 영역을 식별하는 데 도움을 줍니다. 식별된 버그의 총 수를 나타냅니다. 버그 수의 감소 추세는 코드 품질이 향상되고 있음을 나타냅니다.

Test Coverage: 테스트로 커버된 코드의 비율을 나타냅니다.

테스트 커버리지는 코드 안정성을 평가하는 데 중요합니다. 더 높은 커버리지는 더 많은 코드가 테스트되었음을 의미하며, 예기치 않은 버그의 가능성을 줄입니다.

Duplicated Blocks: 코드베이스에서 중복된 코드 블록의 수를 보여줍니다.

코드 중복을 줄이면 가독성과 유지 관리성이 향상됩니다.

Security: 잠재적인 보안 취약점의 수를 표시하여 코드 보안을 평가합니다.

이 메트릭은 보안 위험을 평가하며, 취약점이 적을수록 보안이 강화됨을 나타냅니다. 더 높은 취약점 수는 데이터 유출 또는 시스템 손상의 위험이 더 크다는 것을 의미합니다.

Security Hotspots:보안 검토가 필요한 코드의 영역 수를 보여줍니다.

코드에서 검토 및 완화를 위해 잠재적으로 취약한 영역을 식별하는 데 도움이 됩니다.

Maintainability - Debt:코드베이스의 향후 유지 관리에 필요한 예상 시간을(일 단위로) 나타냅니다.

기술 부채는 장기적인 유지 관리 부담을 반영하며, 더 높은 값은 개선이 필요한 영역이 더 많음을 나타냅니다.

Maintainability - Code Smells: 코드 유지 관리를 방해하는 코드 냄새의 총 수를 보여줍니다.

코드 냄새를 줄이면 코드 품질이 향상되고 유지 관리가 용이해집니다.

Duplicated Lines: 중복된 줄의 비율을 표시하여 리팩토링이 필요할 수 있는 영역을 식별합니다.

낮은 중복 비율은 유지 관리를 용이하게 하고 코드 효율성을 향상시킵니다.

Top Contributor of Week:코드 커밋을 기준으로 주간 최고 기여자를 보여줍니다.

낮은 중복 비율은 유지 관리를 용이하게 하고 코드 효율성을 향상시킵니다.

Top Reviewer:활동 순서에 따라 가장 활발한 리뷰어를 나열합니다. 코드 리뷰는 코드 품질을 유지하고 개선하는 데 필수적입니다. 자주 리뷰하는 사람들을 강조하면 품질 관리에 대한 기여를 장려합니다.

Top Contributor Over Time: 시간에 따른 주요 기여자를 보여주며, 기여 추세의 변화를 추적하는 데 도움을 줍니다.

지속적인 참여를 식별하고 성과를 장려하기 위해 장기 기여를 추적합니다.