코드리뷰란, 한 명 또는 여러 명의 개발자가 본인이 만들지 않은 코드의 내용을 점검(examining)하고, 피드백을 주는 과정
코드를 작성하는 사람마다 여러 성향 있음
여러 성향 및 개인 간의 격차를 해소하는 가장 좋은 방법이 코드리뷰 -> 전체적인 조직의 역량을 강화
가장 중요한 점 한 가지는, ‘책임자를 추궁하지 않는 문화’의 정착 -> 개발 결과물에 대한 책임이 사람 개인이 아닌 우리 모두에게 있다는 문화 정착 가능
why?
코드리뷰를 하면 특정 문제가 발생했을 때 그 책임의 원인을 '누구'에게 있었느냐보다 '왜' 그 문제를 사전에 발견할 수 없었느냐에 초점을 맞추게 되므로!
모든 코드는 존재하는 목적을 가지고 있어야
원하는대로 동작하지 않는 코드는 잘못된 코드
코드리뷰의 시작과 끝은 언제나 기능이 원하는대로 정상 동작하는지 확인하는 작업
버그가 발생할 소지가 없는지 점검
소프트웨어 개발의 전체 생명주기(life cycle)에서 유지보수가 차지하는 비중이 매우 큼
다른 사람의 코드를 쉽게 이해하고 유지보수가 가능하도록 개발하는 것이 매우 중요
가급적 기준을 정해두고 해당 기준을 기반으로 판단
코드리뷰가 반드시 경력이 많거나 실력이 좋은 개발자가 후배 개발자의 코드를 검사하는 것은 아님. 코드리뷰의 목적은 코드 작성자에 게 피드백을 주는 것도 있지만, 해당 코드를 보면서 ‘아, 이런 식으로 코드를 작성하는 것도 가능하구나?’, ‘아, 이렇게 쉬운 방법이 있었구나?’와 같은 학습효과도 함께 가지고 있음. 그렇기 때문에 코드를 리뷰할 때는 피드백을 주기 위한 시각과 좋은 점을 배우려는 시각, 이 두 가지 시각의 균형을 맞추며 진행하는 것이 좋음.
해당 코드가 어떤 목적을 가지고 작성되었으며 왜 필요한지에 대한 맥락을 리뷰어가 이해할 수 있도록 설명을 적어두는 것이 좋음
주석보다는 코드리뷰 도구의 메시지 또는 코멘트를 이용하는 것이 좋음
기존에 자신이 일하던 방식이 정답이라는 생각을 버리고, “나의 의견은 이러한데 당신은 어떻게 생각하시나요?”와 같이 의견을 묻는 것이 좋음.
만약, 서로 다른 견해로 좀 더 많은 사람의 의견을 듣고 싶다면 비공식적인 팀 리뷰에 해당 내용을 제안하여 의견을 나눠보는 것도 도움이 됨
https://blog.logi-spot.com/%EC%BD%94%EB%93%9C%EB%A6%AC%EB%B7%B0%EC%9D%98-%EC%A7%84%EC%A7%9C-%EB%AA%A9%EC%A0%81%EC%9D%80-%EB%94%B0%EB%A1%9C%EC%9E%88%EB%8B%A4/
https://techwell.wooritech.com/blog/2021/04/19/%EC%BD%94%EB%93%9C%EB%A6%AC%EB%B7%B0/