Code Review

조용환·2024년 1월 19일

cleanCode

목록 보기
2/3

코드 리뷰란?

  • 개발자가 작성한 코드를 다른 개발자들이 검토하고 피드백하는 과정
  • 배움을 주고 받으며 좋은 SW개발자가 될 수 있는 실천법
  • 기대효과
    - 1. 코드 품질 개선
      1. 코드 작성 능력 향상
      1. 협업 능력 향상

코드 리뷰의 필요성

코딩 컨벤션(Coding Conventions)

  • 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약

대표적인 컨벤션 요소

  • 명확한 네이밍 규칙
  • 들여쓰기와 포맷팅 규칙
  • 주석 작성 규칙
  • 함수와 메소드 규칙

좋은(클린) 코드 <> 나쁜코드

  • 성능이 좋은 코드 <> 성능이 나쁜 코드
  • 의미가 명확하고 가독성이 좋은 코드 <> 의미가 모호한 코드
  • 중복되는 내용이 제거된 코드 <> 중복되는 코드

클린코드의 필요성

  • sw의 진정한 비용 ~= 유지보수(전체의 80% 이상)
  • 한번 작성한 코드는 10번 이상 읽음
  • 90% 이상의 시간을 코드를 이해하는데 사용

코드 리뷰의 목적

  • 코드 품질 향상 및 표준화
  • 안정성 강화
  • 팀 전체 역량 강화(개발/협업/소통 등)

코드 리뷰의 절차

  • 구성
    - 저자: 코드의 작성자로 작업한 코드 내역을 리뷰어들에게 리뷰를 요청
    • 리뷰어: 저자로부터 받은 변경 내역을 확인하고, 의견을 제시(팀원)
    • 승인자: 리뷰가 완료되고 코드 변경 사항을 승인 하는 역할
  • 진행 순서
    - 0. 준비 단계: 저자가 코드를 리뷰어들이 쉽게 이해할 수 있도록 준비
      1. 리뷰 요청: 저자가 리뷰어들에게 리뷰 요청을 보냄
      1. 리뷰 진행: 리뷰어들이 코드 변경 사항을 검토하고 피드백 작성
      1. 리뷰 승인: 최종 버전으로 승인 여부 결정
      1. 최종 병합: 승인이 된 코드는 팀 레포지토리에 병합

코드 리뷰의 어려움

  • 코드 비판에 대한 두려움
  • 개발 일정 지연 우려
  • 의사 소통 중 생기는 마찰
  • 전문성 부족으로 인한 부담

코드 리뷰 권장사항

  1. 개선 필요 이유를 충분히 설명
  2. 단순 해법보다 스스로의 고민과 학습을 통한 개선 방법 안내
  3. 코드 컨벤션 기반 클린코드 유지 및 일관적 구현 안내
  4. 숙제 검사가 아닌 학습 과정으로서의 리뷰
  5. 리뷰를 위한 리뷰를 지양하고 칭찬을 활용
  6. 친절, 배려 기반 명확한 피드백

LGTM : Looks good to me

profile
practice react, javascript

0개의 댓글