아래 링크를 보며 정리를 한 내용입니다.
https://www.youtube.com/watch?v=ssDMIcPBqUE
2편은 아래로!
https://velog.io/@leverest96/Code-Review-%EC%9A%B0%EC%95%84%ED%95%9C-Tech-22
1. 코드 리뷰의 필요성
-
비즈니스 성공을 위한 개발의 역할
- 개발 : DRFR (Deliver SW Rapidly, Frequently and more Reliably)
- 비즈니스 : 더 빨리 혁신해야 함
- 시장 : VUCA (4차 산업혁명에서의 키워드)
- 불확실하고 복잡하고 모호하며 변화가 많은 세상이 될 것
- Volatility(변동성)
- 여러 사람과의 협업으로 문제를 찾아야 하며 코드리뷰가 그 해결책이 될 것이다.
- 변화의 속도가 빠르고 다양하게 전개될 것
- Uncertainty(불확실성)
- Complexity(복잡성)
- 인과관계가 단순하지 않고 다양한 요인이 작용될 것
- Ambiguity(모호성)
- 개발 조직의 성능(생산성)이 중요해짐
-
출시가 증가함에 따른 생산성은 떨어진다.

-
공학 활동의 최종 목적 : 빌드 가능한 어떤 종류의 재생산 가능한 문서
- 좋은 설계 = clean 코드
- 즉, 설계를 잘 하는 사람이 코드를 잘 작성하는 사람이다.
-
The only way to go fast, is to go well (Robert C. Martin)
-
SW 장인정신 : 애자일의 확장된 개념
- 지식과 경험의 공유만이 전문성을 갖춘 개발자 육성에 좋은 방법이다.
- 코드 리뷰
- 개발자가 지금부터 당장 행할 수 있는 공유 활동
- 배움을 주고 받으며 지속가능한 SW 개발자가 될 수 있는 실천법
2. 코드 리뷰의 목적
-
주목적 : 품질 문제 검수(버그, 장애)
-
더 나은 코드 품질 : 아키텍처 속성 개선을 위한 코드 개선(향후 변경 비용 개선)
-
학습 및 지식 전달 : 코드, 해결책 등과 관련된 지식 공유에 기여
- 공유를 통한 역량 증대 및 성장
- 리뷰어들도 리뷰 과정에서 지식을 얻게 된다.(하드 / 소프트스킬(소통 방법 등))
- 동기부여
-
상호 책임감 증대
- 집단 코드 오너십 및 결속 증대
- 내가 하고 있는 일에 관심을 가져주는 것
- 팀에서 일어나는 일 공유 → Teamwork
-
설계 개선 제안
-
개발 문화 개선
3. 코드 리뷰의 절차
- 구성
- 저자(Author)
- 리뷰어
- 변경 내역(Change List, PR)
- 리뷰 시작 전에 작성
- 저자가 머지를 원하는 소스 코드에 대한 일련의 변경에 대해 기술
- 좋은 PR의 예
- 저자가 고생해야 리뷰어의 시간을 아껴준다.
- PR 구성 예시
- Description : 설명 / How To Test : 테스트 방법
- Commits : 변경 내역(최대한 자세하게)