요약
1. 로직을 이해하기 쉽도록 구현했는지를 위주로 코드리뷰합니다.
2. 코드 작성자는 확신이 없는 부분에 대해서 사전에 설명하는 코멘트를 남겨두면 좋습니다.
3. 코드 리뷰어는 자신의 코멘트가 필수적으로 반영되어야 하는지, 선택적으로 반영하면 좋은 것인지 명시하면 좋습니다.
4. 구글 등 다른 코드리뷰 문화도 참고하시면 좋습니다.
경험상 사람마다 코드리뷰에서 주로 보는 부분이 다르겠지만, 저는 로직을 주로 봅니다. 구현하고자 하는 것에 비해서 복잡하게 되어있지는 않은지, 맥락을 알아야지만 이해할 수 있도록 구현되어 있지는 않은지 점검하는 편이에요. 그래서 사실 코드를 읽다가 이해하기 어렵다 싶으면 그때부터 로직에 개선점이 있는지 주의 깊게 봅니다. 코드 스타일 등 린터나 포매터로 자동화할 수 있는 부분은 크게 신경 쓰지 않는 편이에요(대부분 CI에서 잡히고, 새로운 린터 규칙이 필요하면 추가하면 됩니다).
한편, 코드리뷰를 하다 보면, 리뷰가 올라오기까지의 시간과, 리뷰를 반영했을 때 그걸 확인하고 승인하는데 까지 걸리는 시간이 오래 걸리기 마련입니다. 일종의 핑퐁이지요. 이 핑퐁을 줄이기 위한 방법으로 저는 선제적 코멘트를 사용했습니다. 로직을 최대한 이해하기 쉽게 짜려고 노력했지만, 더 이상 개선할 수 없었을 때, 그렇다고 주석을 남기기도 애매할 때는 github, bitbucket의 코드 인라인 코멘트로 왜 이렇게 짰는지, 무엇을 고민하고 있는지에 대해 적어둡니다. 그러면 리뷰어가 왜 이렇게 짜셨나요? 라고 묻고, 그에 대해 답하면서 생기는 핑퐁이 줄어듭니다.
마지막으로, 코드 작성자의 입장에서는 리뷰어의 코멘트가 필수적으로 반영되어야 하는지, 아니면 반영되면 좋은 것인지 구분이 애매할 수 있습니다. 그래서 리뷰어가 필수/선택 여부를 명확하게 표시해주는 게 좋다고 생각합니다.
https://google.github.io/eng-practices/review/ 구글의 코드리뷰 가이드 문서와 거 문서에 링크된 다른 글을 읽어보셔도 도움이 될 거 같습니다.
출처 : 커리어리 '김재성'님
https://careerly.co.kr/comments/84668?utm_campaign=user-share
'공부 > 자기계발' 카테고리의 다른 글
주니어 개발자를 위한 TCP/IP 주요 프로토콜 알아보기 (0) | 2023.06.10 |
---|---|
미드레벨 SW 엔지니어가 갖춰야 할 7가지 역량 (0) | 2023.06.10 |
좋은 주석을 적는 방법 (0) | 2023.06.10 |
소프트웨어 엔지니어의 성장: 완벽 추구✊ (0) | 2023.06.10 |
소프트웨어 엔지니어 성장의 핵심💡 (0) | 2023.06.10 |