소나큐브 도입하기

말하는물고기·2023년 12월 3일

팀에서 소나큐브로 코드 정적분석을 하고 있다.

코드 정적분석이란~ 코드를 실행하지 않고 취약점이나 코드스멜 등을 분석하는 도구이다!
코드를 실행하지 않기 때문에 분석은 매우 빠르지만 런타임에 발생하는 오류 같은건 당연히 못잡아준다. 그래서 소나큐브는 테스트를 대체할 순 없고 상호보완적인 도구이다.

소나큐브가 잡아주는 버그/취약점/코드스멜 등은 이슈 라고 부른다.
이슈에는 타입과 심각도가 있다.
타입은 이슈의 유형이다. Bug(버그), Vulnerability(취약점), Code Smell(코드악취) 가 있다.
심각도(Severity)는 이슈의 위험도라고 보면된다. Blocker/Critical/Major/Minor/Info 로 나뉘어져 있고 뒤로 갈 수록 낮은 심각도를 가진다.

팀에 도입하기

소나큐브가 잡아주는 모든 이슈를 해결하려고 하면 안된다.
일단 심각도가 가장 높은 Blocker 이슈부터 해결하자.

그동안 소나큐브를 적용하지 않았던 프로젝트라면 Blocker, Critical 만 해소해도 꽤 많은 이슈를 해소하게 될 것이다.

꼭 소나큐브가 알려주는 이슈를 무조건 수정해야 하는건 아니고, 수정을 하면 안되는 상황이라면 @SuppressWarnings 등으로 이슈를 무시해도 된다.

소나큐브의 Quality Gates 기능을 통해 타입, 심각도에 따라 특정 수치 이상으로 이슈가 발생하면 Quality Gate 통과 실패하도록 할 수도 있다.

profile
헤엄헤엄

0개의 댓글