안녕하세요.
내 코드를 대신 리뷰해주고 코드 품질을 지켜주는 플러그인을 소개합니다.
바로 SonarLint 플러그인입니다.
SonarLint 가 뭐예요? 설치하면 어떤 점이 좋아요?
SonarLint 는 실시간으로 코드 이슈를 찾고 고칩니다.
IDE 편집기에서 스펠링 확인 기능처럼, 코드 품질 이슈를 밑줄로 표시해줍니다.
표시만 해주는 린터 기능을 넘어서 풍부한 가이드를 제공합니다.
왜 코드 품질 이슈가 발생했는지, 어떤 위험성이 있는지, 어떻게 고칠 수 있는지 등의 가이드를 제공합니다.
궁극적으로 개발자의 실력까지 올려주는 고마운 플러그인입니다.
SonarLint 을 사용하는 것 만으로 생산성을 향상시키고 코드에 오너쉽을 가지게 해줍니다.
SonarLint 어떻게 설치하나요?
인텔리제이에서 무료로 설치가 가능합니다.
인텔리제이 환경 설정에 들어갑니다.
'Plugins' 메뉴에 들어갑니다.
Marketplace 탭에서 SonarLint 를 검색하여 설치합니다.
Restart IDE 가 나오면 버튼을 눌러 IDE 를 재시작합니다.
또는 인텔리제이 SonarLint 플러그인 홈페이지에서 설치하는 버튼이 있습니다.
플러그인 제목 우측에 Install to IntelliJ IDEA 2023.2.4 버튼을 눌러주세요.
SonarLint 를 CI / CD 에서도 사용할 수 있습니다!
CI(Continuous Integration)는 자동화된 빌드 또는 테스트를 수행한 후, 개발자가 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다.
( CI 의 자세한 설명은 AWS - 지속적 통합이란 무엇인가? 를 참고해주세요. )
CD(Continuous Delievery)는 짧은 주기로 소프트웨어를 개발하면서, 언제든 소프트웨어를 손쉽게 배포할 수 있고 수동 매뉴얼로 배포하는 작업 없이도 실제 프로덕션과 유사한 환경으로 파이프라인을 따르는 소프트웨어 개발 방식입니다. 빠른 주기와 속도로 소프트웨어를 빌드, 테스트, 배포하는 걸 목표로 합니다.
( CI 의 자세한 설명은 위키피디아를 참고해주세요. )
이 때, CI/CD 에서 SonarLint 를 규칙으로 사용할 순 없을까요?
바로 SonarQube 와 SonarCloud 으로 연동할 수 있습니다.
위 서비스는 대부분 유료로 제공하고 있습니다.
자바 뿐 아니라 코틀린, C#, C++, VB, JS, TS, Python, PHP 언어 등을 지원합니다. (참고로 C, C++ 는 유료 버전에서만 가능)
코드형 인프라 스트럭쳐인 Terraform, Cloudformation 등도 지원합니다.
SonarQube 는 커뮤니티 에디션을 무료로 설치할 수 있습니다.
보통 도커로 SonarQube 커뮤니티 에디션을 설치하여 웹 서버를 구동합니다.
유료 기능인 PR 로 답글을 달아주는 기능도 모종의 방법으로 설치가 가능하다고 합니다.
SonarQube 웹서버를 따로 두고 저렴한 컴퓨팅 비용만으로
팀 내에서 고퀄리티의 정적 코드 분석 시스템을 구축할 수 있다고 합니다.
참고 링크 : https://dlwnsdud205.tistory.com/350
프로덕션의 코드 퀄리티를 보장해주는 SonarLint,
다양한 팀에서도 적극 사용한다고 하니 적게는 SonarLint 플러그인 사용을 장려하고
더 나아가 SonarQube 시스템 서버를 만들어 프로덕션의 코드 퀄리티도 지켜보시는 게 어떨까요?
'자바 > 자바 자료실' 카테고리의 다른 글
[책 부수기] 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라 (0) | 2023.12.07 |
---|---|
Github PR 에서 ChatGPT 한테 코드리뷰 받기 (1) | 2023.12.03 |
[SOLID] 단일책임원칙(SRP)과 God Object(신 객체) (1) | 2023.11.22 |
IntelliJ External Libraries 에서 JDK 버전 변경하기 (0) | 2023.11.02 |
인텔리제이(Intellij) 소스파일 및 테스트 결과 한글 깨짐 (2) | 2020.04.05 |
댓글