이 문서는 Fast campus의 The RED : 백발의 개발자를 꿈꾸며: 코드리뷰, 레거시와 TDD by 뱍명석, 최범균의 2부.코드리뷰 부분을 정리한 문서입니다.

왜 코드리뷰를 해야 하나?

  • 시장과 비즈니스의 요구사항
    • 시장 : VUCA
    • 사업 : 더 빨리 혁신해야 함
    • 개발 : 더 빠르게, 더 자주, 더 안정적으로 배포해야 함
  • 배포별 생산성이 줄어듬
    • 새로운 코드를 짜는 것 보다 기존의 코드를 읽고 이해하는데 시간을 많이 씀
    • 프로젝트의 실패율 70% (반면 치킨집 퍠업율 22%) -> 소프트웨어 개발의 본질은 실패 관리
  • SW 설계의 산출물
    • 개발자에게는 소스코드가 설계도
  • 클린 코드의 중요성
    • 소프트웨어 개발 비용의 80%는 유지보수 비용
    • 코드를 쓰는 시간의 10배 가량을 코드를 읽는데 사용
  • SW의 2가지 가치는 요구사항 만족(Behavior)과 수용(Soft)
    • 이 중 요구사항 수용(Soft)가 우선되는 가치
    • 극단적 가정: 동작하지만 고칠 수 없는 SW VS. 고칠 수 있지만 동작할 수 없는 SW
  • 지속가능한 SW개발
    • 개발자만을 위한 것이 아니라 사업을 위한 것

코드 리뷰의 정의/목적/절차

왜 코드리뷰가 어려운가?

코드리뷰 기법들1

  • 효율적 PR방법
    • 지루한 작업은 컴퓨터로 처리
      • 예. Formatting Tool
      • 예. Unused import, Declaration
    • PR을 올릴 때 주석 달기
      • PR을 저자가 먼저 보고 …
    • 리뷰어에 모두를 포함
  • 효율적 리뷰 방법
    • 리뷰는 즉시

코드리뷰 기법들2

추가적인 사례 및 질문들