티스토리 뷰

우아한테크코스6기 동동-개문탐의 11주차 활동으로 『코드 리뷰는 스포츠다』를 읽고 정리한 내용입니다. 

 

코드 리뷰로 얻는 이점

  • 코드 베이스의 품질을 일정 수준 이상으로 유지할 수 있다.
  • 코드 작성 단계에서 놓친 버그를 찾을 수 있다.

코드 리뷰가 불편할 수 있는 이유

  • 자신의 코드가 비판 받는 것을 두려워한다.
  • 타인의 코드를 비판하는 것을 두려워한다.
  • 코드 리뷰에 드는 비용이 크다.

코드 리뷰에 몰입할 수 있는 장치

  • 스포츠: 펜싱
  • 득점으로 경쟁한다. 득점은 코드의 헛점을 찾아 내는 것이다.

공격: 리뷰어

  • 태도
    • 친절하고 예의를 갖추며 텐션을 높이기 위해 의도적으로 노력해야 한다.
      • 칭찬 꼭 남기기, 텍스트로 활기찬 척하기
    • 최소한의 힘만으로 약점만 정확하게 타격해야 한다.
    • 개인이 강점을 살리면서 기여할 수 있는 부분을 고민해야 한다.
      • 내가 잘하는 분야에 집중적으로 리뷰 남기기
  • 공격 포인트
    • 누락한 로직이나 오타, 오류가 있는지
    • 기존 코드보다 더 나은 네이밍, 로직을 제안할 수 있는지
    • 참고한 레퍼런스가 믿을 수 있는지
    • 리뷰이가 선택에 대해 충분한 근거를 남기지 않은 부분이 있는지

수비: 리뷰이

  • 약점 만들기 않기: 내 역량과 지식으로 작성할 수 있는 최선의 코드를 작성하기
    • 코드 컨벤션이 잘 지켜졌는지
    • 논리적인 오류나 오타가 없는지
    • 반복적인 작업을 하다 누락한 부분이 있진 않은지
    • 이전 PR에서 지적된 실수를 다시 한번 반복하고 있진 않는지
    • 사용이 권장되지 않는(deprecated) 구식 기능을 사용하고 있는지
    • 코드의 시간 복잡도를 낮출 수 있는지
    • 성능상 최적화 가능한 부분이 더 남아있지는 않은지
    • 리뷰어가 미리 궁금해할 수 있는 부분까지 고려해 설명을 남김으로써 공격의 기회조차 주지 않기
  • 태도
    • 상대방의 피드백에 방어적인 태도로 접근하는 것을 의미하진 않는다.
    • 코드 리뷰 과정에서 제안한 의견을 나의 근거를 바탕으로 논리로 납득시키는 것
    • 코드와 자신을 동일시하지 말자. 코드를 비판한 것이지 작성자를 비판한 것이 아니다.

리뷰어의 역량 부족

  • 유효타라도 시도해야 한다.
  • 코드를 이해하기 위해 어떤 노력을 했는지 자세히 설명
  • 질문 남기기

요약: 스포츠맨십

  • 최선: 각자 맡은 바에 따라 최선을 다합니다.
  • 상호존중: 소통과 협업 과정에서 각자의 의견을 존중하고 상대방을 배려하는 태도가 필요합니다.
  • 공정: 합의된 규칙 내에서 행동하며, 필요에 따라 규칙을 개선할 수 있습니다.
  • 자기 성찰: 자신의 역량을 객관적으로 판단하고 팀에 어떻게 기여할 수 있는지를 고민합니다.
  • 팀워크: 신뢰 관계를 구축하고 서로의 모자란 부분을 채워주며 팀의 성과를 높이는 데 기여합니다.

내 생각

  • 글의 대상 독자가 처음 코드리뷰하는 사람 또는 어려움을 겪는 사람이다.
  • 대상 독자에 맞게 기본이면서 반드시 지켜야 하는 내용을 다루고 있다.
  • 우테코에서 코드리뷰하며 배운 내용을 되돌아 보는 느낌과 함께, 그 동안 부족했던 부분을 알 수 있었다.
  • 인지하고 있음에도 힘에 부쳐 코드 리뷰에 최선을 다하지 못하고 있었다.
  • 글에서 제안하는 멘탈 모델을 차용하여 코드 리뷰로부터 고통보다는 즐거움으로 돌려 보겠다.
  • 두고두고 보면서 체크하기 좋은 리스트다. 끝
링크
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday