Overview
Code Review Workflow
- 소프트웨어 엔지니어(SWE)가 CL(Change List)를 구현
- CL 오너가 동료에게 CL을 전송(코멘트를 받기 위해서)
- 지정된 동료가 받은 CL에 대해 코멘트를 남김
- CL 오너가 지정된 동료가 남긴 코멘트를 기반으로 CL을 수정
(
LGTM(Looks Good To Me)
피드백을 받을 때까지)
- 모든 리뷰어가 LGTM을 말하면, CL 오너가 저장소(repository)에 CL을 제출
Possible Downsides of Code Review
- 거칠고 무례한 의견 때문에 CL 오너가 자신감을 잃거나 의욕이 꺾일 수도 있음
- 리뷰가 늦어지면 개발 기간이 늘어짐
- 코드 리뷰를 제대로 하려면 시간이 걸림
- 경험이 부족한 개발자의 잘못된 CL을 리뷰하느라 숙련된 개발자의 시간이 허비될 수 있음
- 코드 리뷰를 위해서는 어느 정도 숙련된 개발자 필요
Code Reviews Are Cultural
- 코드 리뷰 프로세스는 문화적 지지(support)가 필요
- 동료 존중하기
- 건설적인 피드백 남기기
- 코드 리뷰 문화를 성장시키는 데에는 시간이 걸림
- 코드 리뷰는 건강하고 확장성 있는 코드 기반을 유지해나가는 데 도움이 됨
- 투명성을 높임
- 협업을 불러일으킴
- 코딩 표준(standard)을 점진적으로 향상시킴
- 코드 리뷰는 팀워크에 관한 것
Testing
Why is Testing So Important?
Testing Rocks! Debug Sucks!