리뷰어 : 다른 사람이 작성한 코드를 리뷰하는 사람들
리뷰이 : 본인이 작성한 코드를 다른 사람들에게 리뷰 받는 사람
코드 리뷰란 한 개발자가 코드를 작성하면 다른 개발자가 정해진 방법으로 피드백을 주고받는 과정을 말합니다. 이 과정을 통해 본인이 발견하지 못한 실수를 다른 사람이 발견하여 코드의 부작용(Side effect)과 오류를 조기에 대응할 수 있으며, 개발 내 정해진 컨벤션 규칙을 유지하고 기술 부채를 줄일 수 있습니다. 또한 여러 명의 개발자가 참여함으로써 문제 해결을 위한 기술 구현 방법론에 대해 공유하기도 합니다.
코드의 부작용(Side effect)와 버그 조기 발견
코드 정확성 및 품질 향상
사내 Code Convention 유지
중복 코드를 방지하고 모듈의 재사용성 증대
여러명의 개발자가 참여함으로써 문제 해결을 위한 기술 구현 방법론에 대해 공유
설계: 코드가 잘 설계되었고, 시스템에 적합한가?
기능: 코드가 작성자의 의도대로 잘 동작하는가? 사용자에게 적합하게 동작하는가?
복잡성: 더 간단하게 만들 수 있나? 나중에 코드를 다른 개발자가 봤을 때 쉽게 이해하고 사용 가능한가?
테스트: 정확하고 잘 설계된 자동화 테스트가 있는가?
네이밍: 개발자가 변수, 클래스, 메소드 등에 명확한 이름을 선택 했는가?
주석: 주석이 명확하고 유용한가?
스타일: Code Convention을 따르고 있는가?
문서: 개발자가 관련 문서도 업데이트 했는가?
왜 개선이 필요한지 이유를 충분히 설명한다.
답을 알려주기보다는 스스로 고민하고 개선 방법을 선택할 수 있게 해준다.
코드를 클린하게 유지하고, 일관되게 구현하도록 안내한다.
리뷰 과정이 숙제검사가 아닌 학습과정으로 느낄 수 있게 리뷰한다.
피드백 할 게 없으면 칭찬 해준다.(리뷰할 부분이 없는데 흔적을 남기기 위해 리뷰할 경우 서로 어색해지는 경우도 발생)
코드량이 적당해서 읽기 편하네요.
많은 고민이 코드에서 엿보이네요.
성능에 아주 유리한 코드라고 생각되네요.
전에 코드보다 훨씬 좋아진 거 같네요.
예외 처리가 꽤 꼼꼼해서 좋네요.
함수, 변수명이 직관적이어서 좋네요.