detekt + reviewdog로 코드 품질 자동 관리!
by DD
8개월 전
조회수 9
정적 코드 분석 자동화를 통해 코드 품질을 향상시키고, 코드 리뷰어의 부담을 줄임
detekt와 reviewdog을 연동하여 GitHub Actions에서 PR에 대한 자동 리뷰를 구현
SARIF 형식의 리포트를 활용, PR 변경 사항에 대한 경고 필터링 및 실패 처리 설정
정적 분석 자동화 아키텍처
detekt는 코드 품질 검사를 수행하고, reviewdog은 GitHub PR에 결과를 코멘트로 표시한다. 구체적으로, GitHub Actions는 PR 이벤트를 감지하여 detekt를 실행하고, SARIF 형식의 리포트를 생성한다. 따라서 개발자는 코드 변경 사항에 대한 즉각적인 피드백을 받을 수 있다.
경고 필터링 및 실패 처리 전략
reviewdog은 기본적으로 변경된 코드 라인에 대한 경고만 표시한다. -filter-mode=nofilter 옵션을 사용하면 모든 경고를 표시하여 놓치는 부분을 방지한다. -fail-level 옵션을 통해 특정 심각도 이상의 경고 발생 시 빌드를 실패하도록 설정하여 코드 품질 관리를 강화한다.
맞춤형 코드 품질 관리
detekt.yml 파일을 통해 코드 스타일 규칙을 팀 컨벤션에 맞게 설정할 수 있다. 구체적으로, Rule의 심각도를 변경하여 특정 경고에 대한 실패 처리를 유도한다. 따라서 코드 품질을 세밀하게 제어하고, 지속적인 코드 개선을 위한 기반을 마련한다.