더 나은 개발자가 되기 위한 코드 리뷰
제 경험상 코드 리뷰에 참여하는 것이 개발자 레벨을 올리는 가장 효과적인 방법입니다. 검토된 변경 사항의 작성자인 경우 동료로부터 직접적인 피드백을 받을 수 있습니다. 그리고 검토자 중 한 명이면 구현을 해결하는 방법에 대해 생각하지 못한 다양한 접근 방식을 배울 수 있습니다.
그러나 코드 리뷰를 올바르게 제공하고 이해하는 것도 배워야 하는 기술입니다. 이 기사에서는 코드 리뷰를 주고 받을 때 고려하는 몇 가지 측면을 간단히 나열합니다. 내 관점에서 볼 때 협업적이고 환영하는 개발 환경을 위한 올바른 선택임이 입증되었습니다.
내가 정의하는 좋은 코드
임시 해결 방법보다 더 영구적인 것은 없음을 기억하십시오.
다음 주요 지표는 코드를 작성하고 검토할 때 지침이 됩니다.
- 코드를 유지 관리할 수 있습니다. 문서화되어 있지만 해킹이나 해결 방법이 없습니다.
- 코드를 쉽게 읽을 수 있으므로 이에 대한 추론이 훨씬 쉽습니다.
- 코드를 테스트할 수 있으므로 이전 두 가지 사항을 더욱 개선합니다.
코드 리뷰를 제공하는 방법
겸손하라
틀리는 것은 문제가 되지 않습니다. 객관적으로 자신이 옳지 않다고 주장하는 것은 문제가 됩니다. 무언가를 놓치거나 단순히 코드를 오해할 수 있다는 점을 항상 염두에 두십시오. 반발에 열려 있고 새로운 것을 배울 기회에 겸손하십시오.
코드 리뷰는 개인적인 것이 아닙니다.
기억하십시오: 코드가 먼저 옵니다. 둘 다 서로 이야기할 기분이 아니거나 일반적으로 현재 작동 방식에 대해 의견이 일치하지 않는 긴장된 상황에서 누군가의 코드를 검토할 수 있습니다.
코드 리뷰는 약간의 힘을 빼거나 좌절감을 갚는 곳이 아닙니다. 리뷰의 유일한 목적은 코드 품질을 객관적으로 개선하는 것입니다. 검토하고 병합될 코드는 다음 레거시 코드이므로 개인 정보는 제쳐두고 객관적인 검토를 제공하는 것이 중요합니다.
의견은 리뷰가 아닙니다
좋은 리뷰와 그냥 댓글의 주요 차이점은 리뷰에는 의견이 없다는 것입니다. 예를 들어, 코드 스타일이 유지 관리 가능하고 읽기 쉽고 테스트 가능하기만 하면 어떻게 보이는지는 중요하지 않습니다. 귀하의 리뷰가 독단적인지 확실하지 않은 경우 동료와 요점에 대해 논의할 수 있도록 의견을 추가하세요.
좋은 리뷰는 좋은 토론으로 이어집니다
검토에 도전하는 것은 개발자들 사이에 훌륭한 지식 이전으로 이어질 수 있습니다. 주어진 리뷰는 최종 의견이 아니라 전체 그림을 얻기 위한 토론의 출발점으로 간주되어야 합니다. 두 사람 모두 무언가를 놓칠 수 있으며 비판에 대해 토론하면 통찰력을 향상시킬 수 있습니다.
기한은 중요하지 않습니다
시행하기가 항상 쉽지는 않지만 코드 검토를 건너뛰면 아무도 청산하지 않을 막대한 기술적 부채가 발생할 수 있습니다. 시계가 똑딱거리는 소리가 들리더라도 철저한 코드 리뷰를 하기 위해 필요한 원칙을 유지하는 것이 중요합니다. 당신이 이 난장판을 다룰 다음 개발자가 될 수도 있습니다!
참조용 링크 사용
검토된 코드를 기존 코드와 비교하는 일이 자주 발생합니다. 따라서 링크를 통해 참조를 올바르게 포함하는 것이 중요합니다. 참조된 코드가 있는 대략적인 위치만 언급하면 잘리지 않습니다.
소스 컨트롤의 기능을 사용하여 기존 분기의 코드를 강조 표시하고 생성된 URL을 검토용으로 사용하십시오. MDN과 같은 외부 문서에도 동일하게 적용됩니다.
코드 리뷰를 읽는 방법
무엇보다도
코드의 코드 리뷰를 읽으면 앞서 언급한 모든 사항을 따를 때 더 나은 개발자가 됩니다. 겸손하고 비판을 개인적으로 받아들이지 말고 큰 그림을 더 잘 이해하기 위해 리뷰가 지적하는 바를 이해하려고 노력하십시오.
객관적인 방법에 대한 개인적인 의견
이 기사는 코드 리뷰에 대한 나의 개인적인 접근 방식을 반영합니다. 요약된 요점은 국내외의 크고 작은 팀에서 개발자로서의 경험의 절정에 불과합니다. 그들은 작동하는 것으로 입증되어 더 나은 코드를 만들고 다른 사람들로부터 직접 배울 수 있는 기회를 제공합니다.