[Github 협업, 이것만은 알자] - Code Review

pgmjun·2023년 10월 6일
5
post-thumbnail
post-custom-banner

💭 Code Review란?

드디어 Code Review를 할 차례입니다!

위에서 말씀드렸다시피, 코드 리뷰는 정말 중요한 과정입니다.

코드 리뷰를 통해 운영 중에 발생해서는 안 될 큰 버그를 막을 수도 있으며,
계속해서 보고 있던 자신의 코드이기 때문에 감각이 흐려져 미처 발견하지 못한 작은 실수들을 찾아낼 수도 있습니다.

때문에 정말로 중요한 작업이라고 이해하시면 됩니다.

그럼 이제 실전으로 들어가보겠습니다.



💭 PR에 대해 Review하기

PR이 올라오면 여러 탭들 중에 Files changed라는 탭이 존재하는 것을 확인할 수 있습니다.


Files changed를 클릭하면 이렇게 어떤 내용들이 추가되고 삭제되었는지 확인할 수 있습니다.

예제에는 추가만 존재했기에, 아쉽게도 삭제에 대한 내역은 확인할 수 없네요😭

Files changed 탭에선 추가된 기록은 녹색, 삭제된 기록은 빨간색으로 관리됩니다.



⚙️ 리뷰할 코드 선택

리뷰를 진행하려면 어떤 코드에 대해 리뷰할 지 선택해야합니다.


좌측의 +버튼에 마우스를 올리면 이렇게 아이콘이 커지는 것을 확인할 수 있는데요!


Single Line에 대한 리뷰는 +버튼 클릭만으로 가능하며


Multi Line에 대한 리뷰는 +버튼 클릭 후 드래그를 통해 가능합니다.



⚙️ 리뷰 남기기

혹시 눈치 채신 분들 계셨을까요?
저는 아까 일부로 코드 리뷰 예제를 위해 Hello, World가 아닌 Hello, Wolld로 출력되도록 작성하였습니다.

지금은 예제지만 실제로 협업을 하다보면 이런 작은 에러들이 종종 발견되곤 하는데요!
그렇기 때문에 코드 리뷰는 굉장히 중요한 작업이라고 할 수 있습니다.

물론 Test 코드를 작성해서 사전에 이러한 버그를 막아야합니다.


리뷰를 남긴 후엔 Start a review를 클릭하면 리뷰 남기기가 시작됩니다.

Add single comment는 단 하나만의 리뷰를 남기기 위해 사용됩니다. Start a review와의 차이를 자세히 알고 싶다면 직접 학습해보면 좋을 것 같습니다!



⚙️ 리뷰 등록하기

리뷰를 남기면 끝이 아닙니다.

Start a review를 통해 리뷰를 남기게 되면, 리뷰는 Pending 상태로 남아있게 됩니다.

Pending보류중 이라는 뜻으로, 아직 리뷰가 등록되지 않은 것입니다.



리뷰를 등록하려면 Finish your review 버튼을 클릭 후, 타입을 선택해야합니다.

리뷰 타입은 3가지가 존재하는데, 이는 다음과 같습니다.



🤔 Comment

명백한 동의는 아니고 일반적인 피드백만 남깁니다.
이는 Merge를 승인하겠다는 뜻이 아니라 단순한 질문 또는 코드에 대한 피드백인 경우에 선택합니다.


🤔 Approve

PRMerge되는 것을 승인할 때 사용합니다.

꼭 꼼꼼한 점검 이후에 Approve를 내주어야 합니다.


🤔 Request changes

코드의 변경을 요청할 때 사용합니다.

코드가 잘못되었거나, 꼭 확인해야할 중요한 수정 사항이 발견되면 사용합니다!
애플리케이션 작동에 문제를 일으킬 수 있어 반드시 바꾸어야할 중요한 사항이 아니라면 Comment로 리뷰를 진행해도 무방합니다.


제가 보여드리고 있는 예제는 기대하는 출력값(Hello, World)다른 값(Hello, Wolld)이 출력되고 있기 때문에,
Request changes를 달아야할 부분이지만, PR을 올린 본인은 Request Changes 요청이 불가능하기 때문에 CommentSubmit review를 하겠습니다.



⚙️ 리뷰 확인 후 오류 수정

이제 누군가(ㅋㅋ)가 리뷰한 내용을 발견한 개발자는 오류를 수정합니다.

커밋 메세지이슈번호를 남기는 것도 잊지 마세요!


PR 페이지에 문제에 대한 해결 커밋 기록이 보이며, 리뷰어는 또 다시 Files changed 탭에서 이번엔 정상적으로 기능을 구현하였는 지 확인합니다.

이때 만약 리뷰에 대해 해결이 완료되면 Resolve conversation을 클릭하여 대화 상자를 닫아둡니다.

🤔 리뷰 내역을 한 눈에 볼 수 있는데 왜 닫아두나요?

이유는 바로 가독성입니다. 지금은 단편적인 예시이기 때문에 하나의 Review만이 존재하지만,
실제로 프로젝트를 진행하면 정말 많은 리뷰를 주고 받습니다.

때문에 많은 리뷰들의 Conversation 기록이 열려있으면 필요한 리뷰 기록을 찾을 때, 큰 방해 요소가 될 수 있기에 대체적으로 닫아주는 편입니다.

자 이제 해결이 끝났으니 정말 Merge하러 가볼까요?



✅ 다음으로

이번 시간에는 코드 리뷰(Code Review)에 대해 알아보는 시간을 가졌습니다.
이제 정말로 기능을 합병(Merge)할 수 있게 되었는데요!

다음 시간엔 합병(Merge)에 대해 알아보겠습니다.

profile
하나씩 천천히 깊이있게 쌓아가는 백엔드 개발자 최승준입니다.
post-custom-banner

3개의 댓글

comment-user-thumbnail
2023년 10월 7일

이해가 잘 되네용!! 잘 보구 갑니다 ~!

답글 달기
comment-user-thumbnail
2023년 10월 19일

잘 읽었습니다.

답글 달기
comment-user-thumbnail
2024년 7월 8일

I completely understand what you shared. Connections NYT

답글 달기