코드 뷰어

Table of Contents

코드 뷰어(code viewer)는 SonarQube의 핵심입니다. 파일의 소스 코드(소스 및 테스트 파일) 및 해당 파일의 상위 통계 정보를 표시합니다:

  • 라인(Lines)
  • 이슈(Issues): 품질 프로파일에 활성화 된 규칙에 대한 위반 사항
  • 테스트 커버리지(Test coverage) : 단위 테스트 및 통합 테스트 별 테스트 커버리지
  • 코드 중복(Duplications): 동일 파일 혹은 다른 파일 사이의 코드 중복
  • SCM 정보(SCM information): 해당 라인을 가장 최근 커밋한 사람과 커밋한 날짜
  • 테스트 파일의 모든 테스트 케이스(tests) 및 해당 테스트 케이스의 실행 시간, 실행 상태

코드 뷰어 화면에는 아래와 같은 방법으로 진입할 수 있습니다:

  • Measures 및 Code 페이지로부터 들릴 다운
  • Issues page 에서 이슈 클릭
  • 웹 인터페이스 최상단 오른쪽의 검색 창에서 특정한 파일을 검색

코드 뷰어는 현재 파일(current file)과 고정 파일(pinned file)의 두 가지 뷰를 제공합니다.

현재 파일

레이아웃

코드 뷰어는 2개 파트로 구성되어 있습니다:

  • 헤더(header)는 파일 맨 윗 부분에 위치하며, 유용한 정보를 표시하고, 데코레이션(decoration) 및 필터링 기능을 제공합니다.
  • 소스 코드(source code)는 중앙에 위치하며, 헤더에서 설정한 데코레이션에 따라 추가적인 정보들을 함께 표시합니다.

헤더

헤더(header)는 최대 4개의 데이터 블록을 표시할 수 있으며, 라인(Lines), 이슈(Issues), 커버리지 확인하기(소스 파일의 경우) 혹은 테스트 케이스(테스트 파일의 경우), 코드 중복을 표시합니다. 현재 파일과 관계 없는 데이터 블록은 표시되지 않습니다. 예를 들면, 프로젝트에 테스트 케이스가 존재하지 않는 경우 커버리지 데이터는 생략됩니다. 마찬가지로 코드 중복이 없는 경우, 코드 중복 블럭도 표시하지 않습니다.

소스 코드

코드 뷰어의 주 목적은 소스 코드 및 해당 이슈를 수정하는 데 소요되는 공수를 표시하는 것입니다. 따라서 이슈, 코드 중복 및 테스트 케이스 데코레이션은 항상 표시됩니다. 하지만 이슈의 경우 Issue 페이지에서 코드 뷰어로 접근해야만 펼쳐진 상태로 보여지며, 신규 코드의 경우 차이(differential) 기능이 적용된 경우에만 표시됩니다:

추가 액션

코드 뷰어 헤더의 우측 상장에 위치한 액션 메뉴를 통해 추가 옵션을 선택할 수 있습니다: 

"Shot Details" 메뉴가 가장 눈에 띄는 기능이며, 해당 링크를 클릭하면 선택한 파일에 대한 추가 정보를 포함한 모달 팝업이 표시됩니다:

고정 파일(Pinned Files)

소스 파일 및 규칙 설명을 직접 고정하거나(pin):


혹은 다른 파일의 코드 중복 상세 팝업에서 고정할 수 있습니다. 

현재 액티브 상태로 고정된 윈도우의 크기를 축소/확대하거나 윈도우를 닫을 수 있습니다. 현재 액티브 상태인 윈도우는 컨텍스트를 변경하거나 다른 파일을 고정하는 경우 자동으로 최소화됩니다.

관련 정보

코드 뷰어와 관련한 더 많은 정보는 아래 페이지를 참조합니다:

© 2017-2018 Moses Kim.

별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.

::: SonarQube 관련 문의 : 이메일 :::