CodeRabbit 리뷰 받기

Jin.Dev·3일 전
0

1. CodeRabbit이란?

  • AI 기반 PR 리뷰 자동화 서비스
  • GitHub PR에 자동 리뷰 생성

2. 왜 PR리뷰 자동화를 도입해야할까?


모든 PR에 대한 코드리뷰가 리소스상 힘들때가 많아서 도입해보니 아래와 같은 장점이 있었다.

어떤 부분이 좋았나?!

  1. 리뷰 속도 향상
  2. 리뷰 품질 안정화
  3. 팀에서 합의된 코드 컨벤션 자동 검증
  4. 런타임 에러 방지 70% 이상
  5. 팀원들 리소스 절약

3. CodeRabbit 사용해보기

CodeRabbit을 연동한 뒤, 프로젝트에 맞게 리뷰 규칙을 정리하기 위해 .coderabbit.yaml 파일을 프로젝트 루트에 추가했다. 아래는 실제로 우리 팀에서 사용하고 있는 설정 일부다.
아! 참고로 서비스는 React + Next.js + 모노레포로 이루어져있어.

.coderabbit.yaml

language: 'ko-KR'
reviews:
  review_status: true
  poem: false
  auto_review:
    enabled: true
    drafts: false
    base_branches:
      - '.*'
  path_filters:
    - '**/*'
    - '!**/.next/**'
    - '!**/dist/**'
    - '!**/build/**'
    - '!**/coverage/**'
    - '!**/node_modules/**'
    - '!**/*.lock'
    - '!**/*.min.*'
    - '!**/*.snap'
  path_instructions:
    - path: 'apps/web/**'
      instructions: |
        - any 타입 사용, any 반환 타입은 지양하도록 코멘트 남겨줘.
        - React 훅 규칙 위반 여부를 검토해줘.
        - onClick, onChange 등 이벤트 핸들러를 JSX 내부에 인라인(익명 함수)으로 작성하지 않을거야.
        - 코드 가독성 향상을 위해 코멘트 남겨줘.
        - github assignee 지정 안되면 코멘트 남겨줘.
chat:
  auto_reply: true

reviews

review_status: 리뷰 상태를 말해주는 옵션
poem: 코드레빗이 장난스럽게 시(poem) 형식으로 답변하는 기능인데... 아래 이미지와 같이 귀엽긴 하지만 리뷰에는 필요하지 않으니깐 false로 하는게 좋다!

auto_review

enabled: PR을 생성할 때마다 자동으로 리뷰 실행
drafts: draft PR에도 리뷰를 달 것인지 여부
base_branches: 리뷰를 적용할 대상 브랜치. '.*'로 모든 브랜치 대상 설정

path_filters

monorepo 환경에서 불필요한 파일까지 모두 검사하게되면 리뷰 품질이 떨어지기 때문에 path_filters를 통해 빌드 산출물 또는 node_modules와 같은 디렉토리는 제외시켜야 한다.

path_instructions

apps/web 경로에만 별도의 규칙을 정했다.
팀에서 합의된 컨벤션에 일부를 보여준 것인데 지시사항에 해당되지 않은 코드를 사용하게 될 경우 PR에 코멘트가 달린다!

chat

chat: 코드레빗이 PR 댓글에 질문을 받으면 자동으로 답변하도록 설정

4. 실제 리뷰 예시

coderabbit이 기본적으로 리뷰해주는 항목들이다.!

  • 변경된 파일 경로, 이름, 내용 패턴을 기반으로 카테고리를 생성해 묶어서 표기
  • 코드 수정에 따른 내용 간략하게 정리
  • 리뷰 해준 내용 토대로 ai와 대화하면서 의견 나누기 가능

    개발자 리소스를 줄일 수 있는데 대화까지 가능하면서 의견을 나눌 수 있으니까 나름 쓸만하다고 생각했다. 특히 내 질문에 의도를 정확하게 파악하는 지능이 놀라웠다!

5. 이런것 까지 해줘?

프론트 개발자라면 디버깅 할 때 console.log를 많이 사용할텐데, 까먹고 지우지 못한 log가 production 환경에 올라가면 안될 수 있기 때문에 아래와 같이 알려주었다 ㅋ-ㅋ 앞으로는 직접 물어보지 않고 yaml 파일에 규칙으로 넣어서 사용하면 효율성 있게 사용 가능할 것 같다.

6. 그래서 뭐가 좋은거야???

coderabbit을 사용하게 되면 팀 전반적인 코드 품질 및 리뷰 문화가 한 층더 좋아진다는걸 느꼇다.

  • 코드리뷰 속도가 일반 개발자에 비해서 빠르다.
  • 리뷰 퀄리티가 좋다
  • 팀 컨벤션을 학습시켜서 팀에 일원처럼 리뷰 가능하다.
  • 리뷰 스타일도 커스텀 가능하다. ex). 리팩토링, 버그, UI/UX 중심
  • 보안 취약점, 예외 처리, 런타임 에러 리뷰 잘해준다.
  • 새로운 개발자가 들어왔을 때 팀 온보딩 속도가 향상된다.

7. 참고

https://docs.coderabbit.ai/overview/introduction

0개의 댓글