작은 PR 규칙 도입 배경
처음 술담화 개발팀에는 PR(Pull Request)에 대한 규칙이 없었다. 그래서 큰 프로젝트의 경우 하나의 PR로 올리는 경우도 있었다. 이 경우 방대한 코드 개발 양으로 코드 리뷰를 하기가 힘들었다. 코드 리뷰가 어려워지면 코드 퀄리티가 떨어지고, 버그가 발생할 가능성이 높아지는 등 단점이 많다. 이를 해결하기 위해 "작은 PR 규칙" 을 적용해보자는 목소리가 팀 내에 있었고, 실제로 도입해봤더니 많은 장점이 있었다.
작은 PR 규칙을 사용하는 방법
(git flow 기반으로 설명하겠다.)
1. develop에서 feature 브랜치를 만든다.
2. feature 브랜치에서 1번째 브랜치를 만들어 개발 완료 후 feature 브랜치에 첫번째 PR을 날린다.
3. 코드 리뷰에 시간이 걸린다면 1번째 브랜치에서 2번 브랜치를 만들어 이어서 개발한다.
4. 코드 리뷰를 반영하여 2번째 브랜치에 merge 하여 개발을 이어간다.
5. 이를 반복하여 feature/project에 모든 개발건이 완료되면 develop으로 PR 한다.
이때 코드리뷰는 모두 받았기 때문에 바로 merge 하면 된다.
작은 PR 규칙의 장점
1. PR 하는 코드 수를 줄여 코드 리뷰를 더 잘 받을 수 있다.
-> 코드의 퀄리티가 좋아진다 (중복 코드 삭제, 버그/실수 방지, 더 좋은 로직을 제안받을 수 있다, 코드 리뷰어의 부담을 줄인다, 기획에 맞는 코드가 제대로 개발 되었는지 확인받기 쉬워진다 등 장점이 무궁무진하다)
2. 코드 리뷰를 받는 중에 개발을 이어갈 수 있다.
3. 컨플릭트를 쉽게 해결할 수 있다. (동시에 여러명이 작업할 경우)
작은 PR 규칙의 단점
1. PR을 여러번 나눠서 해야한다.
개인적으로 장점이 단점을 충분히 커버하고도 남았다! 작은 PR 규칙 강력 추천
PR을 어떤 단위로 나눠서 해야할까?
이는 정답이 정해져있지 않다. 나같은 경우는 기능별로 나눠서 혹은 코드 리뷰하기에 적당한 라인이 되면 끊어서 PR 했다. 어떤 방법이든 코드 리뷰를 잘 받기 위함이라는 목적에 맞게 너무 많은 라인 수로 PR 하는 것만 피하면 좋을 것 같다.
'dev' 카테고리의 다른 글
스타트업 개발팀의 React Next.js 마이그레이션 도전기 (7) | 2022.12.28 |
---|---|
스타트업 이직을 고민하는 당신에게 (전통주 스타트업 술담화 프론트엔드 개발 2년 근무 후기) (0) | 2022.12.22 |
술담화 쇼핑몰 Form 에러 처리 변경하여 결제페이지 체류 시간 감소, 이탈률 감소 시키기 (0) | 2022.10.10 |
[코드숨 리액트 강의] 5주차 회고 - 비동기 코드에서 Thunk를 쓰는 이유 (0) | 2022.06.06 |
"나는 LINE 개발자입니다"를 읽고 (0) | 2021.09.12 |
댓글