페이지 트리

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

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

« 이전 버전 7 다음 »

문서는 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

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