코드 리뷰의 갈증을 계속 느끼는 이유
코드 리뷰가 필요한지는 항상 갑론을박이 많은 주제인 거 같다. "이 정도까지 내가 봐줘야 하나?", "내꺼 작업하기에도 바쁜데.." 등 다양한 이유도 있을테고 코드 리뷰 문화가 아직 도입되기 전인 조직이라면 코드리뷰를 해주기 어려운 환경에 처한 사람들이 많을 것이다. (필자 또한 비슷한 상황이고) 나 같은 경우에도 위의 이유처럼 때론 코드리뷰가 필요할까? 라는 의문이 들 때도 있지만, 개발이란 것은 나 혼자만 하는 것이 아니기에 서로의 코드도 봐주면서 서로 긍정적인 피드백을 주면 더 많은 성장을 할 수 있다 생각하기에 코드 리뷰는 할 수 있으면 해야 한다고 본다. 하지만 나 혼자 하는 사플의 경우에는 어떻게 해야할까? 옛날이었으면 답이 없었겠지만, 근래에는 많은 AI 코드 리뷰 봇들이 생겼다. 오늘은 무료로 사용할 수 있는 gemini-code-assist 봇을 사용해보자
설치
먼저 아래의 링크에 들어가서 간략하게 내용을 읽어보자.
https://github.com/marketplace/gemini-code-assist
Gemini Code Assist - GitHub Marketplace
Bring the power of Gemini to the pull request process
github.com
내용들을 간략히 추려보면 PR이 왔을 때 코드 리뷰를 해주거나 커멘트에서 아래의 커맨드를 입력해서 추가적인 리뷰도 받을 수 있는 것으로 보인다.


하단의 "Install it for free"를 클릭하여 마저 진행해보자.

무료니까 걱정말고 결제를 하자!

그러면 이제 레포지토리를 선택하게 하는데 어차피 개인 레포에 있는건 다 public 한거니 나는 "All repositories"를 골라보았다.


Install을 누르면 로그인을 진행하고, 인가를 받으면 된다.


약관 동의도 받고, 코드 리뷰의 난이도 정도를 조정해주는 화면 같다. 검색해보면 다음과 같다.
Comment severity (댓글 심각도 수준)
- Ciritical(중요): 실패 또는 심각한 문제를 일으킬 가능성이 있는 문제
- High(높음): 정확성, 보안 또는 성능을 위해 해결해야 하는 중요한 문제
- Medium(보통): 일반적인 개선 사항, 유지 관리 문제 또는 당장 심각하지는 않지만 잠재적인 예외 사례
- Low(낮음): 사소한 문제, 스타일 위반 또는 개선을 위한 작은 제안
그냥 기본인 Medium을 했고,

드디어 완료가 되었다!
앞으로 생성된 모든 풀 리퀘스트는 Gemini가 지원하는 코드 검토를 받게 되고, 코드 검토에는 풀 리퀘스트 요약, 개선 제안, 제안된 커밋이 포함된다고 한다.
실전
위에까지 잘 진행한 후 PR을 한 번 올려보면 바로 bot이 코드리뷰를 해준다.

먼저 변경 사항에 대한 요약을 해주는데, 생각보다 요약을 잘해준다.

아직 JPA 어노테이션을 달진 않았지만, 봇이 엔티티로 추측하고 어노테이션들을 추천해주었다.

내가 updatedAt 필드를 넣었는데, delete 메서드에서 updatedAt도 갱신해주는 것을 추천해주었다.

한 번 코드리뷰대로 작업을 한 다음에 코멘트 부분에 @gemini-code-assist review 를 입력해주니, 마저 리뷰를 해주었다


또는 내 의견을 달면 마저 답변을 잘해준다.
후기
무료 코드 리뷰 봇을 찾아 이것 저것 검색해보다가 우연히 발견해서 추가했는데, 생각보다 잘 잡아주어 놀라웠다. 언제까지 무료일진 모르겠지만, 이렇게 좋은 기능들을 제공해주고 있으니 빠르게 적용해서 많이 이용해보면서 우리 코드 품질을 올려보자 ㅎㅎ
PS) 더불어 테스트 코드도 열심히 작성하자