프론트 팀 코드 리뷰 도입기 (과거 완료형)
이제는 전 회사가 된 곳에서의 내용이다.
회사 내에서 면접을 진행하면서 면접자들 중에 코드 리뷰에 대한 수요가 많은 것을 자주 느끼고 또한 저희 회사에서도 팀원이 늘어나면서 서로 중복 되는 코드들이 꽤 발생하고 타인이 코드의 이해도가 낮아 담당자가 없을 경우에는 장애 대응이 현저히 느려진다는 것이였다. 그런 상황을 몇 번 접하다 보니 자연스럽게 필요성을 조금씩 느끼면서 간소하게라도 코드리뷰를 진행하려 찾아보았다..!
코드 리뷰 왜 하는가?
많은 회사에서 하는 문화인 만큼 왜 하는지 찾아봤을 때 주 목적은 아래와 같다.
외롭지 않은 코딩
스스로 PR을 날리면서 Commit을 하게 되면 현타가 온다.
더욱 깔끔한 코드 & 조금은 더 통일된 코드
누군가 나의 코드를 본다는 것을 의식(?)해서 조금 더 신경 써서 변수나 로직 등을 배려하여 작성한다. 또한 오타나 간단한 오류를 사전에 발견 할 수도(?)
해당 프로젝트에 이해도 상승
자신이 작성하지 않은 서로의 코드를 보면서 이해도가 높아지고 또한 작성자는 코드를 설명하면서 이해도가 높아진다.
코드 리뷰 코멘트에 대한 등급
P1: 꼭 반영해주세요 (Request changes)
리뷰어는 PR의 내용이 서비스에 중대한 오류를 발생할 수 있는 가능성을 잠재하고 있는 등 중대한 코드 수정이 반드시 필요하다고 판단되는 경우, P1 태그를 통해 리뷰 요청자에게 수정을 요청합니다. 리뷰 요청자는 p1 태그에 대해 리뷰어의 요청을 반영하거나, 반영할 수 없는 합리적인 의견을 통해 리뷰어를 설득할 수 있어야 합니다.
P2: 적극적으로 고려해주세요 (Request changes)
작성자는 P2에 대해 수용하거나 만약 수용할 수 없는 상황이라면 적합한 의견을 들어 토론할 것을 권장합니다.
P3: 웬만하면 반영해 주세요 (Comment)
작성자는 P3에 대해 수용하거나 만약 수용할 수 없는 상황이라면 반영할 수 없는 이유를 들어 설명하거나 다음에 반영할 계획을 명시적으로(JIRA 티켓 등으로) 표현할 것을 권장합니다. Request changes 가 아닌 Comment 와 함께 사용됩니다.
P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
작성자는 P4에 대해서는 아무런 의견을 달지 않고 무시해도 괜찮습니다. 해당 의견을 반영하는 게 좋을지 고민해 보는 정도면 충분합니다.
P5: 그냥 사소한 의견입니다 (Approve)
작성자는 P5에 대해 아무런 의견을 달지 않고 무시해도 괜찮습니다.
P1: 함수 qwe의 이름을 좀 더 명확하게 알 수 있도록 변경 부탁드립니다.
P4: 컴포넌트 이름 ~를 ~로 하는게 더 좋을 것 같아요.
PR
Pull Request - Example
## 작업 개요
고양이가 야옹이라고 내는 소리를 미야아옹으로 바꾸는 작업
## 작업 상세 내용
- '야옹' 소리 파일을 제거하고 '미야아옹' 파일 교체
## 비고
- 현재 '미야아옹'이라는 파일의 용량이 너무 크다 추후에 압축하여 최적화 시켜야 할 것 같다.
Pull Request - Template
File path: .github/PULL_REQUEST_TEMPLATE.md
## 작업 개요
## 작업 상세 내용
-
## 비고