코드리뷰
우리팀정도면 코드리뷰를 잘 하고있다고 생각하지만, 작업량이 많아지고 코드리뷰 건수 자체가 많아지면서 점점 부담이되고 죄송하게도 좀 더 자세히 리뷰를 못하게되고 있는듯하여 코드리뷰를 더 잘 할 수있는 방법을 찾기위해서 레퍼런스를 찾아 정리해 보았습니다.
카카오스토리팀 레퍼런스 정리 (Kakao Tech)
AS-IS REVIEW
- 가장 많이 발견되는 리뷰 (컨벤션 - 들여쓰기, 괄호, 공백, 캐멀케이스, 언더스코어…)
- 큰 사이즈의 커밋 -> 전체 흐름 파악 어려움
- 리뷰의 병목현상 -> 한번에 머지되어 개별 테스트 하기 어려워짐 -> QA 사항이 늦게 전달
늦어지는 Review
- 코드양이 많음
- 우선순위가 낮은 feature
- 테스트가 많이 필요해 보이는 feature
- 피드백이 늦는 PR
- 난이도가 높은 feature
- 한명이 주도 하는 feature
개선 REVIEW
- 깃훅에 Lint 추가하여 컨벤션 통일 -> 컨벤션으로 리뷰하는일 없어짐
미리보기
브랜치 생성리뷰마스터
위촉 : 리뷰 독려하는 역할, 작인 리뷰들은 개인권한으로 병합- 큰 feature의 경우 하위 태스크들을 나누어 작업 진행
- 담당자들끼리 1차리뷰 이후 2차리뷰 진행
- 적극적이고 잦은 배포
- 유연한 리뷰 (간단한 커밋은 바로 머지)
원문 / kakaoTech : 카카오스토리 팀의 코드 리뷰 도입 사례 – 코드 리뷰, 어디까지 해봤니?
LINE 블로그
코드리뷰를 제대로 하려면 코드 프로세스를 효율적으로 만들어야 한다.
코드리뷰시 주의할점 (reviewee)
- PR과 커밋은 되도록 구조적으로 작게 생성하기
- 리뷰 코멘트의 의도와 이유를 이해하기 : 리뷰어의 코멘트가 모호한 경우, 코멘트에 대한 정확한 의도를 파악후 수정 진행
코드리뷰시 주의할점 (reviewer)
- 리뷰 거부하기 : 리뷰 가능 여부를 reviewee에게 빠르게 회신해 주어야 함
- 무엇을 코멘트 해야하는가 : 코딩스타일 / 규약 / 테스트범위의 타당성 / 원칙,명명,주석,절차 등..
효과적인 코드 리뷰를 위한 팁
- 변화를 작게 유지하자
- 리뷰는 자주 짧은 세션으로 진행하자
- 리뷰를 위해 최대한 빨리 PR을 보내자
- 의미있는 PR을 만들기에 충분한 정보를 제공하자 : reviewer가 PR을 빨리 이해할수 있도록 개발 사항에 대한 충분한 정보를 제공하자
- 코드 분석 툴을 활용하고 코드 스타일을 확인하자
원문 / LINE Engineering : 코드 가독성에 대해 – 5. 리뷰와 정리
원문 / LINE Engineering : 효과적인 코드 리뷰를 위해서
토스랩 (JANDI)
리뷰 우선순위 설정
- 월~수 : 개발이 우선순위
- 목~금 : 리뷰가 우선순위
리뷰 내용
- 성능 개선
- 잠재적인 오류
- 리팩토링 : 테스트코드 및 구조에 대한 질문
- 신규 기술 도입
- 코드 컨벤션
원문 / JANDI : 코드리뷰, 이렇게 하고 있습니다.
개발 블로그
Attitude
- 공격적인 질문 자제 : “왜 이렇게 짯어요?” -> “이렇게 하면 어떨가요?”
- reviewer는 reviewee의 설명을 다 듣고 발언하자
- reviewee의 좋은 코드를 발견했을때 칭찬과 격려는 바로하자
- 불필요한 논쟁은 서로 자제하자 : 컨벤션 논쟁 등등… 미리 지정하는것도 좋은 방법
- 좋은 코드 방향을 제시하되, 강제하지는 말자
원문 / 블로그 : 코드 리뷰, 5가지만 기억하자.