이번에 코드 리뷰를 해보면서 개인적으로 느낀 코드 리뷰 작성법에 대해서 정리해보려고 한다
코드 리뷰
코드 리뷰에서 가장 중요한 점은 상대방이 리뷰를 통해 고민하고 성장해나가거나 코드에 대한 자신감을 가질 수 있게 하는 것이라고 생각한다.
- 코드에서 아래와 같은 부분들을 중점적으로 보면 보다 더 쉽게 리뷰를 작성할 수 있을 것 같다.
- 기능이 정상 작동하지 않는 부분을 찾아라
- 이 부분은 가장 정석적인 리뷰가 될 수 있을 것 같다.
- 기능 요구사항을 만족하지 못하고, 예외사항이 제대로 처리되지 않는 부분이 있을 수 있다.
- 주로 도메인 부분에서 이런 부분을 찾을 수 있으며, 이런 부분을 찾아보면서 코드의 전체적인 흐름 구조를 파악할 수 있을 것이다.
- 구조가 어색하거나 개선이 필요한 부분을 찾아라
- 이 부분에서는 구조적으로 어색한 곳이 있는지 찾아내는 것이다.
- 예를 들어 아래와 같은 경우가 있을 것 같다.
- 특정 패턴을 적용한 코드에서 구조에 맞지 않도록 코드를 작성했다.
- 하나의 클래스, 메서드가 너무 많은 기능을 담당하고 있다.
- 너무 많은 의존관계를 가지고 있거나 책임을 지고 있다.
- 중복되는 기능 혹은 코드가 있어 개선이 필요하다.
- 읽기 쉬운 코드인 지를 고려해라
- 이 부분은 좋은 코드 습관을 고려했는지에 대해 살펴보는 것이다.
- 가독성을 생각한다면 아래와 같은 코딩 습관을 가지고 있는 지에 대해 생각해봐도 좋을 것 같다.
- 삼항연산자를 이용하였는가?
- else 예약어를 이용하였는가?
- 하나의 메서드가 한 가지의 작업만 담당하고 있는가?
- 코드 컨벤션을 잘 지켰는가? - 자바 코드 컨벤션
- 들여쓰기(Indent)가 올바르게 되었는지
- 들여쓰기의 깊이(Indent depth)가 너무 깊지 않은지 (일반적으로 3이하)
- 열 제한을 잘 지켰는지 (일반적으로 100)
- 클래스, 메서드, 변수 명을 올바르게 작성하였는가?
- 축약을 이용하지는 않았는지
- 용도에 맞게 의미있는 이름을 작성하였는지
- 일관성있는 이름으로 작성되었는지
- 적절한 주석으로 복잡한 코드를 설명해두었는가?
- 위와 같이 가독성 부분에서만 해도 검토할 부분이 많다.
- 이해하기 어렵고 궁금한 부분을 찾아라
- 위와 같은 부분들에 대해 코드 리뷰하는 것이 힘들다면 이러한 방법도 괜찮다.
- 상대방의 코드에서 내가 생각하는 것과 달라 복잡하고 왜 이렇게 사용했는지 궁금한 부분이 있을 수 있다.
- 그런 부분을 자신의 생각과 함께 질문하는 것이다.
- 상대의 생각과 나의 의견을 비교 해보는 것도 좋은 공부가 될 수 있다.
- 깔끔하고 나무랄데 없는 부분을 찾아라
- 어렵기도 하고 궁금한 부분을 고르기도 힘들다면 정말 잘 작성한 부분들을 칭찬하는 것도 하나의 리뷰 방법이다.
- 칭찬과 함께 코드 작성 꿀팁을 물어본다면, 상대방도 기분이 좋으며 서로 공부하는데도 도움이 될 수 있다.
- 기능이 정상 작동하지 않는 부분을 찾아라
코드 리뷰는 상대방의 코드를 읽고 의견을 주는 것이기 때문에 그에 따른 시간이 소요되어야만 한다.
코드를 꼼꼼하게 읽어보고 의견 제시, 질문, 칭찬하는 것이 중요하다고 생각한다.
이런 부분을 챙기면서 코드 리뷰를 작성한다면 좋은 리뷰어가 될 수 있을 거라고 생각한다.
첫 리뷰어를 위한 팁
Pull Request에서 리뷰를 하게 될 때, 유의해야할 점이 있다.
리뷰를 달게 되면 처음에는 Pending (보류 중) 상태로 리뷰가 남겨지게 된다.
이는 실제로 리뷰 된 것이 아닌 보류 중인 상태로, 모든 리뷰를 달고 나서는 리뷰 끝내기를 해야한다.
오른쪽 상단에 위치해 있으며, Submit review를 통해 리뷰를 제출해야만 상대방에게 보이게 되므로 이를 유의하자.
참고
'오늘의 공부 > 기타' 카테고리의 다른 글
NCP 이용해보기! (2) | 2023.12.19 |
---|---|
else 예약어를 지양하자 (1) | 2023.12.02 |