개발자로서 처음으로 작성한 코드를 제출하고 Pull Request(PR)를 올렸을 때, 수십 개의 코멘트가 달린 화면을 마주하면 당혹스러움을 느끼기 쉽습니다. 마치 나의 실력이 부족하다는 지적을 받는 것처럼 느껴져 방어적인 태도를 취하게 될 수도 있습니다. 하지만 코드 리뷰는 단순한 코드 검사가 아니라, 팀의 코드 품질을 높이고 팀원 모두가 함께 성장하기 위한 가장 강력한 학습 도구입니다.
주니어 개발자 시기에는 리뷰를 어떻게 받아들이고, 어떻게 참여하느냐에 따라 성장 속도가 천차만별로 달라집니다. 리뷰를 성장의 밑거름으로 삼기 위한 핵심적인 팁들을 정리해 보았습니다.
1. 코드와 나를 분리하는 마음가짐
코드 리뷰를 받을 때 가장 먼저 갖춰야 할 태도는 코드에 대한 비판을 자신에 대한 비판으로 받아들이지 않는 것입니다. 리뷰어의 코멘트는 작성한 '코드'의 논리적 허점이나 가독성을 개선하기 위한 제안이지, 개발자 개인의 역량을 부정하는 것이 아닙니다.
만약 리뷰를 받은 후 "내 코드가 틀렸다"라고 생각하며 방어적인 태도를 취하게 되면, 새로운 지식을 습득할 기회를 스스로 차단하게 됩니다. 예를 들어, 변수 명명 규칙에 대한 지적을 받았을 때 이를 단순한 지적으로 여기기보다, "이 변수명이 다른 개발자가 읽기에는 모호할 수 있겠구나"라고 객관적으로 판단하는 훈련이 필요합니다. 코드와 자아를 분리할 수 있을 때 비로소 리뷰는 성장의 자양분이 됩니다.
2. 리뷰를 할 때: 비판이 아닌 제안을 하세요
주니어 개발자라도 동료의 코드를 리뷰할 기회는 반드시 찾아옵니다. 이때 중요한 것은 상대방의 코드를 평가하는 것이 아니라, 더 나은 방향을 함께 고민하는 것입니다. "이 코드는 잘못되었습니다"라는 단정적인 표현보다는 "이 방식 대신 다른 방식을 사용하면 어떨까요?"와 같은 제안형 문장을 사용하는 것이 좋습니다.
구체적인 예시로, 특정 로직의 성능이 우려된다면 "이 부분은 성능이 안 좋아요"라고 말하기보다 "현재 이 로직은 시간 복잡도가 O(n^2)로 보이는데, Hash Map을 사용하면 O(n)으로 개선할 수 있지 않을까요?"라고 근거와 함께 대안을 제시해 보세요. 이러한 방식은 리뷰를 받는 사람으로 하여금 공격받는다는 느낌 대신, 함께 문제를 해결한다는 느낌을 갖게 합니다.
3. 기술적 관점: 가독성, 성능, 그리고 엣지 케이스
코드 리뷰 시 단순히 문법적인 오류를 찾는 것에 그치지 말고, 더 깊은 기술적 관점에서 접근해야 합니다. 첫째는 가독성입니다. 코드는 작성하는 시간보다 읽히는 시간이 훨씬 길기 때문에, 누구나 이해할 수 있는 클린 코드를 지향해야 합니다.
둘성째는 엣지 케이스(Edge Case)에 대한 고려입니다. 데이터가 비어있거나(null), 배열의 길이가 0이거나, 혹은 예상치 못한 아주 큰 값이 들어오는 경우에도 프로그램이 안정적으로 동작하는지 확인해야 합니다. 셋째는 성능과 효율성입니다. 불필요한 반복문이 중첩되어 있지는 않은지, 메모리를 과도하게 점유하는 구조는 아닌지 검토하는 습관을 들여야 합니다. 이러한 관점에서의 리뷰는 버그를 사전에 방지하고 시스템의 안정성을 높이는 데 결정적인 역할을 합니다.
4. 질문을 두려워하지 않는 적극적인 태도
리뷰어의 코멘트 중 이해가 가지 않는 부분이 있다면 반드시 질문을 남겨야 합니다. "네, 알겠습니다"라고만 답하고 넘어가는 것은 가장 피해야 할 행동입니다. 왜 해당 수정이 필요한지, 어떤 원리로 동작하는지 명확히 이해하지 못한 채 코드를 수정하면, 다음에 유사한 상황이 발생했을 때 똑같은 실수를 반복하게 됩니다.
"이 부분에서 왜 이 디자인 패턴을 사용하는 것이 더 유리한가요?" 또는 "제가 이해한 바로는 A 방식인데, B 방식으로 수정하면 어떤 이점이 있나요?"와 같이 구체적인 질문을 던지세요. 질문은 부끄러운 것이 아니라, 지식의 격차를 줄이기 위한 가장 빠르고 효율적인 방법입니다. 적극적인 질문은 리뷰어에게도 본인의 논리를 설명할 기회를 제공하며, 팀 전체의 지식 상향 평준화를 이끌어냅니다.
결론
코드 리뷰는 팀의 기술적 표준을 맞추고, 서로의 노하우를 공유하는 소중한 문화입니다. 주니어 개발자에게 코드 리뷰는 가장 저렴한 비용으로 최고의 멘토링을 받을 수 있는 기회입니다. 리뷰를 통해 발견된 버그와 개선점들을 기록하고 학습한다면, 여러분의 코드는 시간이 지날수록 더욱 견고하고 아름다워질 것입니다. 리뷰를 두려워하지 말고, 이를 적극적으로 활용하여 뛰어난 개발자로 성장하시길 바랍니다.
실천 팁
-
셀프 리뷰(Self-Review) 습관화: PR을 올리기 전, 본인이 작성한 코드를 스스로 다시 한번 검토하세요. 오타, 불필요한 주석, 디버깅용 로그 등을 먼저 제거하는 것만으로도 리뷰어의 피로도를 크게 줄일 수 있습니다.
-
명확한 PR 설명 작성: 변경 사항의 목적, 구현 방법, 테스트 결과 등을 상세히 적으세요. 리뷰어가 코드의 맥락을 빠르게 파악할 수 있도록 돕는 것은 리뷰의 품질을 결정짓는 중요한 요소입니다.
-
체크리스트 활용: 프로젝트의 코딩 컨벤션, 테스트 코드 포함 여부, 성능 고려 사항 등을 담은 체크리스트를 만들어 리뷰 시마다 확인하는 습관을 들이세요.
-
리뷰어의 의도 파악하기: 코멘트의 텍스트 너머에 있는 의도를 파악하려 노력하세요. 단순한 스타일 수정(Nit)인지, 반드시 수정해야 하는 치명적인 결함(Blocker)인지 구분하여 대응하는 능력을 키워야 합니다.