공식 문서
SonarQube Documentation
SonarQube 란
- 정적 코드 분석을 자동을 수행하는 오픈 소스 플랫폼
- 중복 코드, 코딩 표준, 유닛 테스트, 코드 커버리지, 코드 복잡도, 주석, 버그 및 보안 취약점에 대해서 검사하고 결과를 보고서로 작성한다.
- 20개 이상의 언어에 대한 분석이 가능하다.
정적 코드 분석 이란
- 프로그램을 실행하지 않고 소스 코드나 컴파일된 코드를 분석하는 작업
- 프로그램을 실행하지 않고 버그나 취약점을 분석할 수 있다.
- 주로 개발 단계에서 코드의 구조적인 문제나 실수를 찾아내기 위해서 사용한다.
- 코드 작성단계에서 차후 코드를 실행했을 때 발생할 가능성이 높은 문제를 미리 찾고 대처할 수 있다.
- 단순이 버그나 오류를 찾아내는 것 뿐만 아니라 더 좋은 코드를 위한 개선점을 제시한다.
- 실제 실행했을 때 발생할 수 있는 오류를 잡아내기는 어렵다는 것이 단점이다.
정적 분석과 동적 분석의 차이
정적 코드 분석을 위해 SonarQube 를 사용한 이유