리뷰 품질은 코드만으로 결정되지 않는다.
리뷰 결과를 전달하는 문장에서 팀 속도가 갈린다.
코드 리뷰를 하다 보면 같은 수준의 검토를 하고도 팀 반응이 완전히 달라질 때가 있다.
어떤 메시지는 바로 머지로 이어지고, 어떤 메시지는 “그래서 지금 머지해도 돼?”가 다시 나온다.
차이는 대체로 하나다.
리뷰 내용을 어떤 포맷으로 전달했는가.
이 글은 리뷰 스레드를 운영할 때 내가 고정해서 쓰는 체크리스트를 정리한 것이다.
TL;DR
- 리뷰 스레드는
결론 -> 근거 -> 다음 액션순서로 쓴다. Approve와Comment의 경계를 분리하면 팀 의사결정이 빨라진다.- 메시지 길이보다 중요한 건 “지금 무엇을 해야 하는지”를 오해 없이 전달하는 것이다.
먼저 구분해야 할 3가지 상태
리뷰 메시지에서 가장 자주 흐려지는 건 상태 구분이다.
1) Approve
- 머지 진행 가능
- 남아 있는 코멘트가 있어도 블로커가 아님을 명시
2) Comment
- 정보 공유/권장사항 전달
- 머지 가능 여부를 바꾸지 않음
3) Request changes
- 수정 없이는 머지하면 안 되는 상태
- 블로커를 짧고 명확하게 적기
핵심은 “좋아 보임”이 아니라 머지 가능 상태를 정확히 표시하는 것이다.
내가 쓰는 스레드 기본 포맷
아래 포맷 하나만 고정해도 리뷰 커뮤니케이션 품질이 많이 안정된다.
PR #1234 리뷰 완료 — Approve
잘 된 점
- 핵심 변경 1줄
- 핵심 변경 1줄
확인 권장 (비블로커)
1) 확인 포인트
2) 확인 포인트
GitHub: <PR 링크>
포인트:
- 결론은 첫 줄
- 근거는 2~4개
- 권장사항은
비블로커로 표기 - 링크는 마지막
실제 운영 사례 1 (익명화)
상황
- 디자인 반영 PR 리뷰
- 블로커는 없지만 확인 포인트가 3~4개 존재
나쁜 메시지
- 코멘트가 길고 결론이 맨 아래에 있음
- 읽는 사람이 머지 가능 여부를 다시 물어봄
개선 메시지
- 첫 줄에
Comment또는Approve를 명시 - 확인 포인트는 번호로 분리
- “권장”임을 명확히 표기
결과:
- 팀이 상태 해석에 쓰는 시간이 줄어들고,
- 실제 검토는 필요한 포인트에 집중된다.
실제 운영 사례 2 (익명화)
상황
- 리뷰 대상자 멘션과 PR 작성자 정보를 혼동한 커뮤니케이션 이슈 발생
문제
- 메시지를 읽는 사람이 “누가 무엇을 승인했는지”를 혼동
대응
- 사실만 짧게 정정:
- PR 작성자
- 리뷰 요청 대상
- 이번 코멘트의 기준
- 이후 스킬/체크리스트에 “작성자 확인” 단계 추가
교훈:
- 작은 표현 오류도 리뷰 시스템 신뢰를 깎는다.
- 정정은 빠르고 간결하게, 그리고 재발 방지 규칙으로 끝내야 한다.
전송 전 20초 체크리스트
메시지 보내기 전 아래 네 줄만 확인한다.
- 첫 줄에 상태가 있는가 (
Approve/Comment/Request changes) - 블로커와 권장을 분리했는가
- 작성자/리뷰 대상/승인 주체가 정확한가
- 링크가 정확한가
예외 상황 처리
릴리즈 직전이나 핫픽스에서는 길게 쓰기 어렵다.
그럴 때도 최소 포맷은 유지한다.
PR #1234 — Approve
- 블로커 없음
- 배포 전 스모크 1건 권장 (비블로커)
<PR 링크>
짧아져도 상태 + 블로커 여부 + 링크는 남긴다.
오늘 바로 적용 3단계
- 팀 리뷰 메시지 템플릿을 한 가지로 고정한다.
- 첫 줄 상태 표기를 팀 룰로 만든다.
- 정정이 발생하면 체크리스트 항목으로 승격한다.
마치며
리뷰 스레드는 부가 작업이 아니다.
코드 리뷰 결과를 팀 의사결정으로 변환하는 마지막 단계다.
메시지 포맷이 정리되면 리뷰 자체가 더 정확해지는 건 물론이고,
팀의 머지 리듬도 눈에 띄게 안정된다.
한 줄 결: 좋은 리뷰는 코드에서 끝나지 않는다. 상태를 오해 없이 전달하는 문장에서 완성된다.