Graphite's State of code review 2024
Graphite.dev
Stacked Pull Request 서비스를 하는 Graphite에서 만든 코드 리뷰 현황에 대한 보고서입니다.
Stacked PR 혹은 Stacked chages라고 하는 것은 Pull Request로 변경사항을 만들어서 올리면 동료나 메인테이너의 코드리뷰와 승인을 받아야 하기 때문에 어느정도 시간이 걸리기 마련입니다. Pull Request를 올리고 그냥 기다릴 수 없으므로 다른 작업을 이어서 하게 되는데 상황에 따라서는 올려놓은 변경사항을 기반으로 해야 하는 경우가 종종 생깁니다. 그리고 Pull Request를 올릴때는 변경사항이 작아야 더 리뷰를 빨리 받을 수 있고 리뷰하는 사람도 쉽게 할 수 있기 때문에 하나의 작업이라도 단위를 작게 나누어서 올리는 것을 더 권장하는데 이러면 자연히 Pull Request를 올려놓고 그 코드 위에서 추가 작업을 해야 합니다.
이렇게 Pull Request가 서로 의존성을 가지고 쌓아진 것을 Stacked PR이라고 부릅니다. Git으로도 할 수는 있지만 리뷰할 때도 stacked에서 아래부분부터 하는게 좋기 때문에 PR에 그러한 내용도 표시해야하고 PR의 코드 변경사항이 계속 누적되지 않게 하려면 앞의 PR의 브랜치를 타켓으로 올리고 가장 아래 있는 PR이 되었을 때만 main을 보게 하는게 좋기 때문에 리뷰진행에 따라서 계속 git rebase 등을 해주어야하는 번거로움이 있는데 이러한 과정을 자동화해주는 서비스가 Graphite입니다.
Graphite를 쓴다는 것은 코드리뷰를 한다는 의미이므로 (아마도) 고객을 대상으로 3만여명의 엔지니어가 올린 500만건 이상의 Pull Request를 분석한 보고서입니다.
코드 리뷰로 인해서 작은 조직이 큰 조직보다 3배 빠르게 코드를 배포합니다.
스타트업에서 TypeScript는 새로운 JavaScript입니다.
모노레포를 사용하는 회사는 Pull Request를 머지하는데 64% 더 오래 걸립니다.
이상적인 Pull Request는 50라인 이하입다. 50라인 이하는 머지까지 100분 정도의 시간이 걸리고 라인 수가 늘어나면 시간이 크게 증가합니다.
50명 이상 기업의 CI 실행시간이 50명 이하 기업보다 2배 더 오래 걸립니다.
100명 이상의 기업은 Merge Queue를 사용할 가능성이 작은 기업보다 2배 이상 높습니다.
https://graphite.dev/blog/state-of-code-review-2024
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 8월 11일 오전 9:17
저
... 더 보기Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자로" 강의를
... 더 보기이
... 더 보기A
... 더 보기누
... 더 보기