CodeRabbit 도입

박재연·2024년 12월 26일
0
post-thumbnail

회사에서 PR을 올려도 연차 있는 개발자의 부재로 인해 리뷰 진행이 잘 되지 않는 것 같아서 AI 코드 리뷰 툴을 알아보았다.

SonarQube

SonarQube는 예전부터 많이 들어본 소스 분석도구라 적용해보고 싶은 생각이 들었다.

장점
• 고도로 확장 가능하며, 대규모 프로젝트 관리에 적합.
• 다양한 언어와 플랫폼 지원.
• 코드 품질과 보안 중심.

단점
• 설정과 초기 학습 곡선이 높음.
• 리소스 소모가 크며, 온프레미스 서버 관리 필요.

도입 시도하기 위해 알아본 결과 간단히 도입하기는 힘들 것 같아서 보류.
(인프런의 경우 CodeRabbit과 같이 사용한다고 하여 추후 같이 사용해볼까?)

AWS CodeWhisperer

회사에서 AWS를 많이 사용하고 있어서 CodeWhisperer를 도입해 볼까 생각해봤다.
그런데 가장 큰 문제가 있었는데
Java, Python만 지원... (지금 다시 보니까 여러가지 언어 지원하는 것으로 보인다)

CodeRabbit

인프런의 이동욱님이 회사에 주니어가 많아 도입했다고 하는 툴 중에 하나.
마침 우리도 주니어가 많아 도입하면 좋겠다는 생각이 들었다.

장점
• 빠른 설치와 간단한 설정.
• Pull Request 중심으로 코드 리뷰를 자동화.
• 생산성 및 코드 품질 향상.

단점
• 지원 언어와 기능이 제한적일 수 있음 (SonarQube보다 적음).
• 보안 취약점 분석이 SonarQube만큼 깊지는 않음.

이런 장단점이 있어서 SonarQube와 같이 사용하는 것으로 보인다.
그러나 우리 회사는 일단 이거라도 도입하는게 좋겠다는 생각에 한 번 시도해보았다.

도입 과정

CodeRabbit을 적용하는 것은 상당히 쉬웠다.
CodeRabbit에 로그인 한 후 Repositories에서 Add Repositories를 클릭해 원하는 Repository 등록하면 끝

사용후기

PR생성 시

자동으로 Sequence Diagram을 생성해 보여준다


변경된 파일들에 대한 설명 추가


그리고 가장 중요한 리뷰 사항이 나오게 된다

현재 시점 기준 2주 동안 사용 중인데 지금까지는 괜찮다고 생각된다. 코드에 정답이 없다지만, 같이 일하는 사람들은 어느 정도 맞춰야 되는 부분도 있다고 생각하여 만족하고 있다.

부족하다고 생각되는 부분은 보안 관련 로직인데, 이 부분은 CodeRabbit 사용이 어느 정도 적응 완료되면 추후 SonarQube 혹은 다른 툴들을 찾아 적용해 볼 생각이다.

0개의 댓글