코드 리뷰 문화를 도입한 계기
처음에는 개인 브랜치에서 각자 작업을 완료한 후, 공통 브랜치(dev)에 병합하는 방식으로 개발을 진행했지만, 코드 품질에 대한 문제가 점점 드러나기 시작했습니다. 당시 코드 리뷰를 해줄 테크리드가 없어 코드 품질을 관리할 방법이 부족했기 때문에 저는 자발적으로 코드 리뷰 규칙에 대해 의견을 내었고 팀 내에서도 적용하기로 결정했습니다. 이는 코드 품질을 개선하고 유지보수성을 높이기 위한 중요한 첫걸음이었습니다.
비슷한 상황에 놓이신 분들을 위해 저의 개발문화 적용과정과 생각들을 공유드리려고 합니다.
개선된 코드 리뷰 문화
코드 리뷰는 매일 아침 팀이 모여 진행되었습니다. 이 시간 동안 팀원들은 온라인으로 서로의 코드를 검토하며 질문을 주고받고, 더 나은 코드 작성 방법이나 공통적으로 사용할 수 있는 코드 패턴을 논의했습니다. 이러한 리뷰 과정을 통해 에러를 조기에 발견하고, 신속하게 해결할 수 있었습니다.

위의 사진 예시처럼 서로의 코드를 봐주고, 이상한 점이나 이해가 안가는 부분은 최대한 정중하게 글을 남기곤 했습니다.
또한, 작업이 끝난 후에는 PR(Pull Request)을 작성해 팀원들이 하루 동안 변경된 내용을 확인하고 병합할 수 있게 했습니다. 이렇게 팀원 간의 작업 상황을 공유하면서 이슈가 생길 경우 빠르게 대처할 수 있는 환경이 마련되었습니다.
코드 리뷰 문화의 긍정적 효과

1. 코드 품질 향상
코드 리뷰를 통해 팀원들이 서로의 코드를 검토하면서 코드의 가독성과 유지보수성이 크게 향상되었습니다. 정기적인 검토 과정에서 버그를 사전에 발견하고, 수정할 수 있었기 때문에 코드의 안정성이 높아졌습니다. 특히, 동일한 기능을 팀원들이 각기 다른 방식으로 구현하는 문제를 해결하며, 코드의 일관성도 유지할 수 있었습니다.
2. 협업 효율성 증가
코드 리뷰 과정에서 팀원들은 각자의 작업 진행 상황을 명확히 파악할 수 있었고, 이를 통해 협업이 훨씬 원활해졌습니다. 작업의 병목 현상이 줄어들고, 소통이 활발해지면서 협업의 효율성이 크게 증가했습니다. 팀 내에서 발생하는 이슈도 리뷰 시간에 공유되며 신속히 해결되었습니다.
3. 개발 속도 및 완성도 향상
문제가 발생할 때마다 빠르게 해결하면서 프로젝트의 개발 속도가 빨라졌습니다. 코드 스타일의 일관성을 유지한 덕분에 프로젝트의 완성도가 높아졌고, 더 높은 품질의 소프트웨어를 제공할 수 있었습니다.
4. 학습과 성장
리뷰 과정에서 팀원들은 서로의 코드를 통해 새로운 기술과 방법론을 배울 수 있는 기회를 얻었습니다. 이로 인해 팀원 개인의 기술력이 향상되었고, 전체 팀의 역량이 크게 성장하는 계기가 되었습니다.
명확한 규칙과 목적의 중요성
이러한 긍정적인 변화는 명확한 코드리뷰 규칙과 목적 설정 덕분에 가능했습니다. 매일 정해진 시간에 오프라인으로 진행되는 코드 리뷰와 퇴근 전 PR 작성 규칙은 코드 품질 향상과 팀의 협업 효율성을 높이는 데 핵심적인 역할을 했습니다. 특히, 코드 리뷰의 목적을 분명히 함으로써, 팀원들은 이 과정이 왜 중요한지 깊이 이해하게 되었고, 모두가 적극적으로 참여할 수 있었습니다.
실제 사례에서도, 코드리뷰를 통해 이전에는 놓쳤던 공통화할 수 있는 코드들을 쉽게 식별할 수 있었습니다. 과거에는 동일한 기능을 구현할 때, 팀원들이 각기 다른 방식으로 코드를 작성하는 경우가 많았지만, 이제는 코드리뷰 과정에서 초기부터 공통된 부분을 정의하고 진행할 수 있게 되었습니다. 이로 인해 중복된 코드 작성이 줄어들었고, 개발 시간이 크게 단축되었습니다.
느낀 점
코드 리뷰 문화는 단순히 코드 품질을 높이는 것을 넘어, 팀 전체의 협업 효율성과 프로젝트 완성도를 크게 향상시키는 중요한 요소라고 생각합니다. 명확한 규칙과 목적을 가지고 꾸준히 리뷰를 진행한다면, 코드의 일관성을 유지할 뿐 아니라 팀원들 간의 기술 공유와 학습이 자연스럽게 이루어집니다. 이를 통해 나만이 편한 코드를 짜는게 아니라 팀 내에서 보기 좋은 코드를 짤 수 있도록 해주며, 팀원의 부재가 생기더라도 그 코드에 대해 어느정도 알고 있을 수 있어 개발하는데 불편함이 없었습니다.
사실 업무 중에 다른 사람의 코드를 볼 기회가 흔치 않은데 코드 리뷰를 통해 자연스럽게 다른 사람의 코드를 접하고 그 의도를 이해하게 됩니다. 저는 이 과정 자체가 큰 도움이 된다고 생각합니다. 만약 지금 코드 리뷰를 할지 말지 고민하고 계신다면, 저는 적극적으로 해보시길 추천드립니다!!!
'TIL' 카테고리의 다른 글
[테오스프린트] 테오스프린트 18기를 시작하며 (0) | 2024.12.04 |
---|---|
실시간 알림 구현을 위한 선택: 롱 폴링, 웹 소켓, Server-Sent-Events (7) | 2024.10.31 |
Component-Driven Development(CDD): 효율적인 UI 개발의 핵심 (2) | 2024.10.14 |
프론트엔드 개발자가 백엔드를 고민하게 된 이유: MERN 스택과 Node.js, Nest.js의 차이점 (2) | 2024.10.08 |
글또 10기 합격 (0) | 2024.09.27 |