리뷰어의 의견에 대처하는 방법
리뷰어의 의견을 받고나서 적절히 대처하는 방법 몇 가지를 소개한다.
감정적으로 받아들이지 않는다.
코드 리뷰의 핵심 가치는 코드와 제품의 품질을 높게 유지하기 위함이다. 리뷰어는 당신과, 공동의 코드와, 구글을 돕기 위해서 당신의 코드를 비평할 뿐, 당신이나 당신의 실력을 공격하기 위해서가 아니다.
가끔은 리뷰어가 불만 가득한 말투로 댓글을 남기기도 한다. 그건 리뷰어의 잘못이 맞지만 작성자도 이런 상황에 대비하고 있어야 한다. 리뷰어가 어떤 도움을 주려고 했을까를 자문해보고 상대가 실제로 그런 식으로 말했다고 상상하고 리뷰를 이어간다.
화난 감정 상태로는 코드 리뷰에 절대 글을 남기지 않는다. 너무 화가 나고 짜증이 나서 친절하게 댓글을 달 수 없는 상태라면 잠시 자리를 뜨거나 감정이 사그라들 때까지 다른 일을 한다. 계속해서 리뷰어가 친절하지 않고 건설적인 방향으로 대화를 하지 않는다면 직접 만나서 얘기를 한다. 직접 만날 수 없거나 화상 통화도 할 수 없다면 개인적으로 이메일을 보낸다. 어떤 행동이 마음에 들지 않았고 어떻게 자신을 대했으면 하는지를 상냥한 말투로 전한다. 개인적인 대화에서도 건설적인 토론으로 이어지지 않거나 대화 후에도 시정이 되지 않으면 상위 매니저를 통해 중재한다.
코드를 수정한다
리뷰어가 코드를 이해하지 못한다면 가장 먼저 코드를 더 명료하게 수정한다. 코드를 더 명료하게 만들지 못하겠다면 주석으로 왜 코드가 존재하는지 작성한다. 주석마저도 무의미해 보인다면 최후의 수단으로 코드 리뷰 툴에 설명을 작성한다. 당장 리뷰어가 코드를 이해 못하면 나중에 읽을 사람도 이해를 못할 가능성이 높고, 그럴때 코드 리뷰 툴에 써 있는 내용은 아무런 도움이 되지 않는다는 걸 명심한다.
스스로 고민해본다
당신은 CL을 완성하기 위해 많은 노력을 들였다. 열심히 했으니 더이상 고칠 게 없다고 생각하며 리뷰를 요청하기도 한다. 그래서 리뷰어가 여러가지 개선점을 말하면 반사적으로 거부감이 들고 상대방의 의견이 틀렸다는 생각이 든다. 하지만 아무리 완벽하다고 느껴도 잠시 한발 뒤로 물러서서 리뷰어의 제안이 공동의 코드와 구글에 도움이 되는지 고민해본다. 만약 리뷰어의 말이 맞는지 판단이 안서면 좀 더 설명을 요청한다.
물러서서 고민을 해본 뒤에도 당신의 방법이 맞다는 생각이 들면 왜 이것이 코드와, 사용자와, 구글에 더 이로운지 설명하는 댓글을 달아도 좋다. 사실 리뷰어는 당신이 최선의 선택을 내리도록 제안을 하고 도움을 줄 뿐이다. 어쩌면 당신이 유저나 코드를 더 잘 알고 있을 수도 있다. 리뷰어에게도 이런 정보를 공유해라. 대부분의 경우 기술적인 토론을 통해서 당신과 리뷰어는 합의에 도달할 수 있다.
의견 충돌 해결하기
의견이 충돌하면 언제나 리뷰어와 합의를 보도록 노력한다. 의견이 모아지지 않는다면 코드 리뷰의 대원칙에 따라 해결한다.