[졸업작품] 코드리뷰를 준비하며

zero9657·2020년 9월 3일
0

TIL

목록 보기
2/12

시작하기전에🙄

졸작을 준비하면서 선배가 '너가 코드리뷰 한 번 진행해보는 건 어때? 어떻게 생각했고 왜 이렇게 짰는지 얘기해주면 되. 보고 같이 얘기해보자.'라고 해줬다. 안 그래도 내 코드에서 수정할 사항이 보여서 좋다고 했다. 그리고 다른 사람이 봐주면 내 시선에서 보이지 않는 것도 보이니까! 그래서 같이 코드 품질에 대해 이야기를 해보기로 했다.

코드리뷰를 진행하게 되었지만 사실.. 나는 말만 들어봤지 코드리뷰를 참여해 본 적도 없고 진행하는 걸 참관한 적도 없다. 진짜!! 말만 들어봤다. 처음에는 '왜 이렇게 짰는지, 어떻게 생각을 했는지'정도만 이야기를 할까 하다가

최선을 다해서 준비를 해야 내가 얻어가는 것도 더 많을 거 같다는 생각이 들어서 코드리뷰에 대해 알아보고 어떤 점을 위주로 준비를 하면 좋을 지를 생각하고 정리를 하게 되었다.


리뷰이의 준비✨

의미있는 PR을 만들기에 충분한 정보를 제공하자📖

리뷰어는 매우 제한되어 있으니 그들을 현명하게 다룹시다!

  • 리뷰어가 코드의 문맥을 빨리 파악할 수 있도록 충분한 정보를 제공하는 것이 중요
    • 무슨 이유로 어떻게 코드를 변경했는지
    • 어떤 위험이나 우려가 발견되었는지

적절한 양으로 천천히 시간을 들여 리뷰하는 것이 issue를 찾기 좋음❗

  • 너무 많은 양은 그냥 코드가 좋아보일 수 있음
  • 1시간 이내에 끝낼 분량으로 검토
  • 200라인 정도가 적절

리뷰어의 시간도 중요하다!! 🕐

리뷰어는 업무가 리뷰가 아니다.

시간을 들여서 리뷰를 해주는 것이기 때문에 리뷰어가 쉽게 리뷰할 수 있게 충분한 정보를 제공하고 읽기 쉽게 리뷰어의 입자에서 한 번 훑어보고 보내는 것이 좋음

리뷰이는 리뷰에 어떻게 반응하면 좋을까?🧐

이 부분이 제일 준비하면서 신경이 많이 쓰였던 부분인 것 같다. 의견을 받는 입장에서 어떻게 의견을 받아들이는지에 따라 이 시간이 유익할 수도 힘들 수도 있다는 생각이 들었다. 그리고 이거는 의견을 주는 리뷰어들도 마찬가지 일것 같았다. 그래도 감정 안 상하는게 제일 중요하니까! 그렇지만 감정을 상하지 않게 하는 게 우선이 되어 의견이 대충대충 오고가면 안되니까-

그래서 더 리뷰를 받는, 그리고 준비를 해가는 게 처음이니까 준비하는 내용 뿐만 아니라 내 마음도 잘 준비를 해야겠다는 생각이 들었다. 코드리뷰 막 찾아보다가 이 부분에 대해서도 정리되어 있는 내용도 있어서 가지고 왔다.

  • 리뷰어의 의견을 잘 청취하고
  • 의도를 잘 설명하되
  • 결정은 본인이 하는 게 좋다
  • 코드는 내가 아니고 그냥 내가 작성한 코드일 뿐 상처받지 말아야 함
맨 마지막 내용이 그렇게 와닿더라....

코드리뷰는 아니지만 지금까지 다른 상황에서 피드백을 받으면서 느꼈던 것들을 돌아봤을 때 나는 이렇게 마음을 셋팅했다.

  1. 졸작 프로젝트가 지금까지 주로 내가 사용하던 게 아니라 처음 쓰는 툴과 언어를 쓰다보니 당연히 내가 선배들보다 부족한 건 맞다. 하지만 내가 부족하기 때문에 스스로 위축되어서 선배들이 일방적으로 내 코드를 분석하고 평가하는 자리라고 생각하지 않기!
  1. '선배들이 더 잘 아니까' 하는 생각으로 나오는 다 의견을 받아들여야 한다고 생각하지 않기! 주는 의견들이 무조건적인 수정을 요구하는 것이 아니라 더 나은 방향으로 이끌어주는 의견임을 기억하고 그 의견을 통해 배우고 같이 논의해보기
  1. 코드 컨벤션은 따라가지만 그 안에서 개발자마다 스타일이 다르다. 주는 의견이 코드 퀄리티를 향상 시키는 것인지, 스타일 문제인지를 생각해보고 코드 퀄리티라면 받아들이고 스타일에 관한 문제라면 의견을 수용할 지 안 할지는 나의 선택이다.

추가적으로 생각해보면 좋을 것들💡

리뷰 포인트✅

아무래도 각자 스타일이나 코드에서 중점적으로 바라보는 점, 프로젝트에서 어떤 업무를 맡고 있느냐 따라서 리뷰 포인트가 조금씩은 다를 것 같다

앞으로 리뷰를 받으면서 리뷰어들의 리뷰 포인트를 정리하려고 한다. 정리를 해두면 다음에 코드를 짤 때 좋았던 시각들을 가지고 코드를 짤 수 있을 것 같다.

나의 리뷰 포인트(코드 짜는 관점)

  • 내가 아닌 다른 개발자가 봤을 때 읽기 쉽게

  • 좀 더 어떻게 간결하게 만들 수 있을까?

  • 변수명

내가 리뷰어라면?🤗

코드리뷰를 처음 해보기도 하고 경험적으로도 적어서 아마 졸작을 하는 동안은 리뷰이로 경험할 수 있는 게 리뷰어로 경험할 수 있는 것보다는 많을 것 같다. 그래도 다음에 리뷰어로 경험할 시간도 있을테니 이번에 준비하면서 찾았던 내용이기도 하고 다음에 잘 하기 위해 정리해보려고 한다. 찾은 내용들 중에서도 내 성향에 맞는 것들을 위주로 정리했다.

리뷰어의 자세

  • 작성자에 대해 칭찬 많이
  • 젠틀하고 완곡하게 표현
  • 의견을 제시할 수는 있지만 수정에 대한 결정은 작성자가 하도록 함

참고자료🔗

지금은 딱 처음 코드리뷰를 준비하면서 필요한 것들만 가지고 왔는데 더 다양한 좋은 점, 활용하면 좋은 것들도 많았다.

profile
선한 영향력을 만들어가는 중:)

0개의 댓글