페이지 트리

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 6 다음 »

문서는 SoanrQube의 간단한 소개에 대한 정보를 공유하기 위해 작성되었다. 

SonarQube 주요 특징

  • 코드 품질을 관리
  • 플러그인을 통한 기능 및 비기능 확장
  • 다양한 프로그래밍 언어지원
  • 직관적인 UI
  • 코드 품질 관리의 편의성

SonarQube 데모 사이트

  • https://sonarqube.com/projects

SonarQube 소프트웨어 품질

SonarQube는 다음 일곱 가지 품질 요소를 기준으로 소프트웨어 품질을 구분하고 관리하고 있다.

  • Architecture & Design
  • Duplication
  • Unit Test
  • Complexity
  • Potential Bugs
  • Coding Rules
  • Comments

Architecture & Design

아키텍처와 설계에 영향을 미치는 주요 요소는 다음과 같은 것들이 있다. 

  • Dependencies 의존성
  • Response for class 클래스 응답성
  • Code complexity 코드 복잡도

Duplication

코드 중복은 코드의 품질을 저해시키는 가장 큰 요인 중 하나이다.

Unit Tests

단위테스트 커버리지를 통해 단위 테스트의 수행 정도와 수행한 테스트의 성공/실패 정보를 제공한다.

Unit Test Coverage

  • Line Coverage : 구문 커버리지
  • Condition Coverage ; 조건 커버리지

Unit Test Result

  • Failures : 실패한 단위테스트 코드 수
  • Errors : 에러가 발생한 단위 테스트 코드 수
  • Tests : 단위 테스트 코드 전체 수
  • Skipped : 스킵한 단위 테스트 코드 수
  • Execution Time : 단위 테스트 수행에 소요된 시간

Complexity

순환복잡도(Cyclomatic Complexity) 측정, 코드의 논리적인 흐름상에 존재하는 독립적인 선형 경로의 개수를 의미

함수별/클래스별/파일별 평균 복잡도를 표시하며 함수/파일 단위로 복잡도 분포를 제공한다.

Potential Bugs

  • Programming practices
  • Programming principles
  • Architecture best practices

Coding Rules

소스코드 Coding conventions을 통해 작성에 대한 가이드를 제공한다.

  • 코드 들여쓰기
  • 주석 작성법
  • 변수 및 함수 선언 명명법
  • 구문 작성법
  • 화이트 스페이스 사용법
  • 프로그래밍 룰

Comments

문서화 및 주석 위젯을 통해 코드 내 문서화 및 주석 상태를 표시한다.

주요 용어

Continuous Inspection

지속적으로 소스 코드를 분석하고 보고 함으로써 품질 트랜드를 파악하고 과거 대비 개선 여부를 파악하고 발생한 이슈를 처리의 반복

Technical Debt

최적의 개발 상태를 유지하기 위해서 제거해야 하는 변경 비용의 격차를 의미

Issues

소프트웨어 품질을 개선할 수 있는 항목을 이슈라는 최소 단위로 관리

Quality Metric

품질에 영향을 미치는 특징을 가진 요소를 의미하며 소프트웨어 품질 특성들을 정량적으로 표시하기 위한 기준

Quality Measure

품질에 영향을 미치는 특징을 가진 요소들을 정량적으로 측정한 수치

  • 레이블 없음