Kotlin 코드 품질, detekt + reviewdog로 잡았다!

by DD
8개월 전
조회수 8

SonarCloud의 단점을 보완하고자 detekt를 활용한 정적 분석 시스템 구축을 시작함

detektreviewdog을 연동하여 PR에 코드 품질 분석 결과를 자동화함

Compose convention 적용 및 팀 컨벤션에 맞춰 rule을 수정하여 안정적인 코드 품질 관리 체계를 마련함

detekt와 reviewdog의 완벽 조합

detekt는 코드 품질을 향상시키기 위한 강력한 도구이다. 정적 분석을 통해 코드 중복, 복잡도, 스타일 문제를 찾아낸다. reviewdog는 detekt의 분석 결과를 GitHub PR에 코멘트로 표시하여 개발자가 즉시 피드백을 받을 수 있도록 돕는다. 따라서, 코드 품질 개선과 개발 생산성 향상에 기여한다.

CI/CD 파이프라인 구축 전략

CI/CD 파이프라인에 detekt를 통합하여 자동화된 코드 품질 검사를 구현한다. GitHub Actions를 사용하여 PR이 생성될 때마다 detekt를 실행하고, reviewdog으로 결과를 PR에 표시한다. 반면, 기존 코드에 대한 경고를 줄이기 위해 baseline을 활용하여 점진적으로 적용하는 전략을 사용한다. 따라서, 지속적인 코드 품질 관리가 가능하다.

팀 컨벤션 적용 및 Rule 설정

팀의 코딩 컨벤션에 맞춰 detekt rule을 설정하는 것이 중요하다. Compose convention을 먼저 적용하고, 팀 내 논의를 통해 추가적인 rule을 정의한다. 구체적으로, 경고 발생 원인을 분석하고, 불필요한 경고를 줄이기 위해 rule을 조정한다. 결과적으로, 일관성 있는 코드 스타일을 유지하고, 코드 품질을 향상시킬 수 있다.

SonarQube Cloud에서 detekt + reviewdog으로 전환한 이유