정보실

웹학교

정보실

기타 코드 검토를 수행하는 방법 - Google의 엔지니어링 사례 문서 6

본문

코드 리뷰에서 푸시 백 처리 


때로는 개발자가 코드 검토를 다시 시작하기도 합니다. 그들은 당신의 제안에 동의하지 않거나 당신이 일반적으로 너무 엄격하다고 불평 할 것입니다.


https://google.github.io/eng-practices/review/reviewer/pushback.html 


누구 옳습니까? 


개발자가 귀하의 제안에 동의하지 않는 경우 먼저 의견이 올바른지 고려하십시오. 종종 그것들은 코드보다 코드에 더 가깝기 때문에 특정 측면에 대해 더 나은 통찰력을 가질 수 있습니다. 그들의 주장이 합리적입니까? 코드 건전성 관점에서 의미가 있습니까? 그렇다면, 그들이 옳다는 것을 알리고 문제가 해결되도록 하십시오.


그러나 개발자가 항상 옳은 것은 아닙니다. 이 경우 검토자는 자신의 제안이 맞다고 믿는 이유를 추가로 설명해야 합니다. 좋은 설명은 개발자의 답변에 대한 이해와 변경 요청 이유에 대한 추가 정보를 모두 보여줍니다.


특히, 검토자가 제안이 코드 상태를 개선 할 것이라고 판단 할 때 결과 코드 품질 개선이 요청 된 추가 작업을 정당화 할 수 있다고 판단되면 변경을 계속 옹호해야 합니다. 코드 상태 개선은 작은 단계로 발생하는 경향이 있습니다.


때로는 실제로 문제가 발생하기 전에 몇 가지 제안을 설명해야 할 때가 있습니다. 항상 예의를 지키고 개발자에게 자신이 하는 말을 듣고 있음을 알리십시오. 동의하지 않습니다.


화를 내는 개발자 


검토자는 때때로 검토자가 개선을 요구하면 개발자가 화가 날 것이라고 생각합니다. 때로는 개발자가 화를 내기도 하지만 일반적으로 간단하고 나중에 코드의 품질을 향상 시키는 데 도움을 준 것에 대해 매우 감사하게 생각합니다. 일반적으로 의견에 정중한 경우 개발자는 실제로 전혀 화를 내지 않으며 걱정은 검토 자의 마음에 달려 있습니다. 일반적으로 불만은 코드 품질에 대한 검토 자의 주장보다는 의견 작성 방식에 대한 것입니다.


나중에 청리 


푸시 백의 일반적인 원인은 개발자가 이해할 수 있는 일을 하고 싶어한다는 것입니다. 그들은 이 CL을 받기 위해 또 다른 검토를 거치지 않기를 원합니다. 따라서 그들은 나중에 CL에서 무언가를 정리할 것이라고 하므로 이제 이 CL을 LGTM으로 해야 합니다. 일부 개발자는 이에 대해 매우 잘 알고 있으며 문제를 해결하는 후속 CL을 즉시 작성합니다. 그러나 경험에 따르면 개발자가 원래 CL을 작성한 후 더 많은 시간이 지날수록 이러한 정리 작업이 발생할 가능성이 줄어 듭니다. 실제로, 일반적으로 개발자가 현재 CL 직후에 정리를 수행하지 않으면 발생하지 않습니다. 개발자가 무책임한 것이 아니라 해야 할 일이 많고 다른 작업으로 인해 정리가 손실 되거나 잊혀지기 때문입니다. 따라서 코드가 코드 베이스에 있고 "완료"되기 전에 개발자가 지금 CL을 정리해야 한다고 주장하는 것이 가장 좋습니다. 사람들이 "나중에 정리"를 하는 것은 코드 베이스가 퇴화하는 일반적인 방법입니다.


CL이 새로운 복잡성을 도입하는 경우, 응급 상황이 아닌 한 제출 전에 CL을 정리해야 합니다. CL이 주변 문제에 노출되어 현재 해결 될 수 없는 경우, 개발자는 정리 버그를 제기하여 이를 잃지 않도록 스스로 할당해야 합니다. 선택적으로 제기 된 버그를 참조하는 코드에 TODO 주석을 작성할 수도 있습니다.


엄격함에 대한 일반적인 불만 


이전에 상당히 느슨한 코드 검토를 받았고 엄격한 검토를 수행하도록 전환 한 경우 일부 개발자는 매우 큰 불평을 합니다. 코드 검토 속도를 높이면 일반적으로 이러한 불만이 사라집니다.


때로는 이러한 불만이 사라지는 데 몇 달이 걸릴 수 있지만 결국 개발자는 엄격한 코드 검토의 가치가 어떤 코드를 생성하는 데 도움이 되는지 알 수 있습니다. 때로는 가장 큰 시위대가 무언가를 일으킨 후에도 가장 강력한 지지자가 되어 엄격한 가치를 부여함으로써 부가 가치를 실제로 볼 수 있습니다.


갈등 해결 


위의 모든 사항을 따르고 있지만 여전히 해결할 수 없는 개발자와 개발자 사이에 충돌이 발생하는 경우 충돌을 해결하는 데 도움이 되는 지침 및 원칙은 표준 코드 검토를 참조하십시오.



  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 22회 ]  작성일19-09-13 11:51

웹학교