Sorry Architecture

Code Review, Thumbs-up

Quill. 2019. 7. 2. 17:35

단체 채팅에서 '봉'[각주:1]을 달라고 부탁하는 경우를 자주 봤다. 여기서 말하는 '봉'이란 리뷰 승인과 동의를 표현하는 엄지척의 애칭이다. 이러한 '봉' 요청 몇 번은 애교로 넘어갈 수 있었지만, 시간이 흐를수록 '봉'을 받아야 다음으로 넘어간다는 암묵적인 인식이 퍼져가는 것을 느낄 수 있었다. 때로는 '봉'을 못받아서 다음 업무를 수행하지 못한다는 말도 들었다. 이러한 방식은 건전한 코드 리뷰를 방해한다. 리뷰와 승인을 받는 과정이 왜곡되기 때문이다. '봉'만 얻으면 다음 단계로 진행할 수 있다는 생각은 다음과 같은 몇 가지 문제를 만든다.
 
첫째, '봉'만 요청하면 된다는 문화가 정착되면, 형식에 치중하게 만들어서 '봉'을 남발하게되고 결국 최종 코드의 품질을 떨어트린다. 시간이 촉박하다는 이유만으로 리뷰 승인을 서두르다보면, 모든 조직 구성원들이 변경되는 내용을 충분히 인지하지 못한 상태에서 코드 변화가 빈번하게 발생한다. '봉'을 남발하는 사람은 눈 앞에 보이는 일만 처리하는 습관을 갖게 되서 문제가 되고, 다른 구성원들은 잦은 변화를 이해하기 위해 필요이상의 노력을 기울여야하기 때문에 문제가 된다. 남의 코드는 읽지도 않고 '믿고 봉'을 남발하다가 운영환경에서 배포 중에 문제를 만드는 모습을 현실에서 보았다.
 
둘째, '봉'을 다음 단계로 나아가기 위한 절차로만 생각한다면, 친분있는 동료에게 '봉'을 받으려고 하는 경향이 생긴다. 이러한 마음은 상급자에게 결재받기 부담스러워서 친한 사람들끼리 서로 승인해주는 결재 돌려막기 형태와 비슷하다. 이러한 현상은 결재는 급하고 결재자에게 부탁하기에는 껄끄럽기 때문에 발생하는데, 이러한 편법은 형식만 지키고 실속은 망가트린다. 코드 리뷰에서도 비슷한 현상이 발생한다. 아무 질문도 없이 리뷰 의견에 '수고하셨습니다'와 같은 승인 댓글만 달리는 것을 본 적이 있다. 리뷰 승인을 한 사람에게 변경된 내용에 대해 물어봤는데, 대답을 제대로 하지 못했다. 형식이 본질을 망가트린 것이다.
 
결국 형식이나 표현, 절차와 도구보다는 구성원이 어떤 생각을 가지고 있는 지를 기록하고 공유하는 본질이 중요하다. 코드에 대한 지식이 없어서 리뷰를 못하겠다고 말하는 것은 겸손이 아니다. 그 코드를 이해하기 어려우면 그 곳에 질문을 남겨야 한다. 서로의 코드를 이해하는 과정, 서로의 생각을 맞추는 과정, 그래서 좋은 결과물을 만들려고 협동하는 과정이 코드 리뷰의 본질이다. 본질을 이해했다면, 다른 사람이 올린 코드의 동작을 어느 정도 이해했을 때, 진심으로 'Thumb-up'을 달아주면 좋겠다.


 

  1. 리뷰 승인과 동의를 표현하는 엄지척의 애칭 [본문으로]