안녕하세요. NewCodes입니다!
이번 글에서는
코드리뷰에 대해서
간결하게 정리해 봤습니다.
곧 부스트캠프 9기 챌린지 '피어 세션'에서
코드리뷰를 해야 해서 그전에
글을 쓰면서 생각 정리를 했습니다.
!주의!
저는 아직 코드리뷰의 경험이 많지 않고,
부족한 부분이 있을 수 있습니다.
레퍼런스 내용을 그대로 가져오기보다는
제 언어로 정리한 부분이 많습니다.
자세한 내용은
제일 아래 레퍼런스를
살펴봐주세요!
📌 내가 생각하는 ‘좋은 코드리뷰’란?
나, 상대방, 코드 세 객체가 성장할 수 있는 리뷰
- 코드리뷰
- 의미: 가독성 및 유지보수성 향상 + 버그 및 장애 예방을 위한 활동
- 참여 객체: 리뷰어, 리뷰이, 코드
- 좋은 코드리뷰의 조건
- 리뷰어가 코드 작성 의도를 쉽게 파악할 수 있는 (ex. PR 템플릿 활용)
- 리뷰이가 스스로 고민하고 개선할 수 있는 여지가 있는 (ex. 명령X 청유O, 질문O)
- 리뷰이가 감정적으로 불편하지 않으면서 도움이 되는 (ex. 비난X, 칭찬O)
👨🏻💻 코드 리뷰어로서의 자세
코드 뒤에는 상대방이 있다.
- 코드리뷰는 엄연히 커뮤니케이션이다. 코드 뒤에 있는 상대방을 배려하자.
- 개선이 필요하다면, 그 이유를 충분히 설명하자.
- 리뷰이가 스스로 고민하고 개선, 학습할 수 있도록 여지를 주자.
- 코드를 클린하면서 일관성 있게 작성했는지 체크하자.
- 리뷰를 위한 리뷰 하지 말자. 리뷰할 게 없다면 칭찬으로 마치자.
📋 코드 품질 체크리스트
네이밍, 일관성, 성능, 모듈화
- 가독성
- 스타일: 코드 컨벤션 지켰는가?
- 네이밍: 변수, 함수, 클래스, 파일 네이밍 의미 있고 명확한가?
- 일관성: 코드가 일관성 있게 작성되어 있는가?
- 성능 및 안정성
- 시간 복잡도 효율적인가?
- 적절한 자료구조를 선택했는가?
- 불필요한 연산이 있진 않은가?
- 예외 처리를 꼼꼼하게 했는가?
- 코드 구조
- 파일, 클래스, 함수 분리 등 모듈화가 적절히 되어있는가?
- 중복된 코드가 많지는 않은가?
- 파일 내 함수, 변수 등 순서가 적절히 응집되어 있는가?
🗂️ 레퍼런스
- 코드 리뷰의 자세: https://tech.kakao.com/posts/498
- 코드리뷰 시 고려사항: https://f-lab.kr/insight/efficient-code-review-methods-20240521
- 코드리뷰 실전 팁: https://smartstudio.tech/how-to-make-a-good-code-review/
여기까지 해서 글 마치겠습니다!
챌린지 이후 코드리뷰 경험이 많이 쌓이면
'좋은 코드리뷰'가 무엇인지
재정의해보는 것도 재밌겠네요 ㅎㅎ
'생각 정리' 카테고리의 다른 글
'빨리 성장하고 싶은 개발자'의 마인드와 습관 (0) | 2024.09.21 |
---|---|
개발자의 눈 건강 지키는 4가지 방법 총정리! (0) | 2024.04.16 |