토스의 코드 리뷰 문화 🎈 (너 내 코드드듣 리뷰어가 돼라!)

토스 테크 블로그 중 토스가 코드 리뷰를 효율적으로 하기 위해 리뷰어 자동 할당 프로그램을 어떻게 개발했고, 어떤 결과가 나왔는지에 대한 흥미로운 글이 있어 공유해 봅니다.

결제의 맥락을 다루는 <토스페이먼츠>에게 코드 리뷰는 서비스의 안정성을 높일 수 있는 효과적 방법입니다. 이들의 코드 리뷰 문화의 중요한 조건은 피드백 속도PR(Pull Request)코멘트 대화 양이었습니다.


즉, 피드백의 루프가 빠르게 돌아가야 한다는 것인데요. 이를 위해 "리뷰어가 할당되면 피드백 루프가 빨라질 것이다"는 가설을 세우고 리뷰어를 자동 할당하는 자동화 프로젝트를 진행했습니다.


  1. GitHub Actions으로 개발하다.

    • 기능 구현과 간편한 유지 보수

    • 사용자가 많아, 높은 접근성

    • GitHub에서 리뷰어 자동 할당 기능을 제공하나, 커스터마이즈를 못 함

    -> 그래서 쉽게 커스터마이징할 수 있는 GitHub Actions로 자동화 기능 직접 개발!

  2. 리뷰어 지정하기

    • 유지 보수 편의성을 위해 타입스크립트로 개발

    • 로직 : 정해진 리뷰어 목록에서 PR 생성자를 제외하고 랜덤으로 리뷰어 선정 이후, toolkit SDK를 통해 리뷰어 할당

    • (결과) 코드 리뷰의 코멘트 수가 평균 2배 상승!

  3. 리뷰어에게 알림 보내기

    • 문제: 이메일을 자주 확인하지 않으면 본인이 리뷰어임을 알기 어려움.

    • 해결 : 슬랙봇으로 리뷰어가 되었다는 메시지 보내는 기능 추가

    • (결과) 팀원들이 리뷰를 시작하는 시점이 빨라짐!

  4. 오늘 안에 리뷰할 수 있게 하기

    • 문제: 리뷰어가 리뷰 요청 받은 당일에 PR을 보지 않으면 리뷰가 누락됨

    • 해결 : 리뷰 되지 않은 PR을 리마인드하는 워크플로우 개발 (평일 오후 2시에 팀 채널 전송)

    • cron 표현식으로 반복적으로 워크플로우를 스케쥴링하는 이벤트 생성

    name : review-remind
    
    on:
      schedule: 
        - cron: "0 14 * * 1-5"
    
    #매주 오후 2시에 정의한 워크플로우 동작 
    • (결과) 팀원들이 밀린 코드 리뷰를 잊는 일이 줄어 듦!

    토스는 이렇게 자동화를 통해 코드 리뷰 문화를 개선하고 편의를 높였던 경험을 공유했다고 합니다. 더 자세한 코드와 글은 아래 링크를 통해 살펴보세요!



https://toss.tech/article/25431

GitHub Actions로 개선하는 코드 리뷰 문화

toss.tech

GitHub Actions로 개선하는 코드 리뷰 문화

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 2월 8일 오전 6:35

댓글 0

    함께 읽은 게시물

    iOS 19가 아니라 이제 iOS 26?

    ... 더 보기

    No iOS 19: Apple Going Straight to iOS 26

    MacRumors

    No iOS 19: Apple Going Straight to iOS 26

    👋 디자이너도 앱을 만들 수 있을까?

    ... 더 보기

    디자이너도 앱을 만들 수 있을까?

    Brunch Story

    디자이너도 앱을 만들 수 있을까?

    스토리북 9 출시 소식

    ... 더 보기

    Storybook 9

    Storybook Blog

    Storybook 9

    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 22 • 조회 2,033



    Longest Common Subsequence 자바스크립트 풀이

    ... 더 보기

    Longest Common Subsequence | 알고달레

    알고달레

    Longest Common Subsequence | 알고달레