[103호] 코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
Last updated
Was this helpful?
Last updated
Was this helpful?
만약 주니어 개발자가 물어본다면 당신은 어떻게 대답할것인가?
생각보다 구체적인 답을 내려주기는 어렵다..
적당한 크기의 코드 변경
코드 작업의 명확성
빠른 속도(?)
Pull request를 생성하다보면 반영하고 싶은 다양한 태스크 들이 눈에 들어온다
그러다 보면 여러가지 태스크를 하나의 Pull request에 담기는 경우가 많다
그러다보면 어느새 Pull request의 file change 수는 많이지고 변경 코드도 커지게 된다
리뷰어 들은 많은 변경 내역에 대해 부담을 느끼게 된다
리뷰가 길어지면 다양한 변경 내역이 타겟 브랜치에 쌓이기 때문에 충돌 때문에 머지를 진행하기 어려워진다(심적 부담감..ㅜ)
코드의 변경 흐름을 좌우가 아닌 위에서 아래로 스택을 쌓듯이 보여주면 된다.
스택을 쌓듯이 변경내역을 쌓게 되면 스택당 쌓이는 변경 내역 크기를 명확하게 볼수 있다
스택당 변경 내역을 확인하니 변경된 코드 목적도 더 분명해진다
리뷰어도 변경 내역과 변경 사유가 명확해지니 좀더 리뷰에 집중할수 있게 된다
구글과 메타에서 제공해주는 형상관리 서비스가 있다
하지만 stack별로 변경 내역을 쌓는걸 보기 위해 형상관리 툴을 변경하는건 쉽지 않다..
변경에 대한 부담감 뿐만 아니라 메타에서 제공해주는 phabricator는 더이상 서비스를 유지보수 하고 있지 않는다고 한다
Git에서 사용할 수 있는 별도 플러그인을 사용할 수 있다(graphite)
변경 내역별로 스택을 쌓아보자
변경된 내역을 푸시해보자
변경된 내역을 대시보드를 통해 확인해보자
Github에서 보여주는 UI와 graphite에서 제공하는 UI를 비교해보자
그런데 왜 github에서는 해당 기능을 제공하지 않을까?
기능 단위 변경
코드 변화의 단위 변경
작업 전체 변경분 비교
Stack 별로 비교
변경 내역을 타겟 브랜치와 전체 비교
변경 내역을 차곡차곡 쌓임
여러 팀이 함께 작업하는 경우 유용
작은 변경이 많은 경우 유용
잦은 리뷰 처리를 하지 않을 경우
팀이 빠르게 운영되고 하는 경우