Code Review (우아한 Tech) 1/2

leverest96·2022년 12월 1일
0

Git

목록 보기
3/5
post-thumbnail

아래 링크를 보며 정리를 한 내용입니다.
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. 코드 리뷰의 필요성

  1. 비즈니스 성공을 위한 개발의 역할

    • 개발 : DRFR (Deliver SW Rapidly, Frequently and more Reliably)
    • 비즈니스 : 더 빨리 혁신해야 함
    • 시장 : VUCA (4차 산업혁명에서의 키워드)
      • 불확실하고 복잡하고 모호하며 변화가 많은 세상이 될 것
      • Volatility(변동성)
        • 여러 사람과의 협업으로 문제를 찾아야 하며 코드리뷰가 그 해결책이 될 것이다.
        • 변화의 속도가 빠르고 다양하게 전개될 것
      • Uncertainty(불확실성)
        • 미래 상황에 변수가 많아 예측하기 어려울 것
      • Complexity(복잡성)
        • 인과관계가 단순하지 않고 다양한 요인이 작용될 것
      • Ambiguity(모호성)
        • 뚜렷한 현상이 없어 판별하기 어려울 것
    • 개발 조직의 성능(생산성)이 중요해짐
  2. 출시가 증가함에 따른 생산성은 떨어진다.

  3. 공학 활동의 최종 목적 : 빌드 가능한 어떤 종류의 재생산 가능한 문서

    • 좋은 설계 = clean 코드
    • 즉, 설계를 잘 하는 사람이 코드를 잘 작성하는 사람이다.
  4. The only way to go fast, is to go well (Robert C. Martin)

  5. SW 장인정신 : 애자일의 확장된 개념

    • 지식과 경험의 공유만이 전문성을 갖춘 개발자 육성에 좋은 방법이다.
    • 코드 리뷰
      • 개발자가 지금부터 당장 행할 수 있는 공유 활동
      • 배움을 주고 받으며 지속가능한 SW 개발자가 될 수 있는 실천법

2. 코드 리뷰의 목적

  1. 주목적 : 품질 문제 검수(버그, 장애)

  2. 더 나은 코드 품질 : 아키텍처 속성 개선을 위한 코드 개선(향후 변경 비용 개선)

  3. 학습 및 지식 전달 : 코드, 해결책 등과 관련된 지식 공유에 기여

    • 공유를 통한 역량 증대 및 성장
      • 리뷰어들도 리뷰 과정에서 지식을 얻게 된다.(하드 / 소프트스킬(소통 방법 등))
    • 동기부여
  4. 상호 책임감 증대

    • 집단 코드 오너십 및 결속 증대
    • 내가 하고 있는 일에 관심을 가져주는 것
    • 팀에서 일어나는 일 공유 → Teamwork
  5. 설계 개선 제안

  6. 개발 문화 개선


3. 코드 리뷰의 절차

  1. 구성
    • 저자(Author)
      • 코드 작성, 리뷰 요청
    • 리뷰어
      • 코드를 읽고 머지 가능한지 결정
    • 변경 내역(Change List, PR)
      • 리뷰 시작 전에 작성
      • 저자가 머지를 원하는 소스 코드에 대한 일련의 변경에 대해 기술
  2. 좋은 PR의 예
    • 저자가 고생해야 리뷰어의 시간을 아껴준다.
      • PR 구성 예시
        • Description : 설명 / How To Test : 테스트 방법
        • Commits : 변경 내역(최대한 자세하게)
profile
응애 난 애기 개발자

0개의 댓글