타스크: 코드 검토
이 타스크는 코드를 검토하여 구현을 확인하는 방법을 설명합니다.
원칙: 구현
관계
역할기본 수행자: 추가 수행자:
입력필수: 선택사항:
  • 없음
출력
프로세스 사용법
단계
일반 권장사항
목적 각 검토의 일반 권장사항.

고품질의 소프트웨어를 빌드하는 경우 구현 검토는 컴파일, 통합, 테스트와 같은 기타 품질 메커니즘을 보충합니다. 구현을 검토하기 전에 구현을 컴파일하고 코드 규칙 확인 프로그램같은 도구를 사용하여 가능한 많은 오류를 발견하십시오. 코드를 시각화해주는 도구를 사용하는 것이 좋습니다. 코드를 런타임 오류 발견 도구를 사용하여 실행하는 경우 구현하기 전에 추가 오류를 발견 및 제거할 수 있습니다.

구현 검토로 얻을 수 있는 이점은 다음과 같습니다.

  • 프로젝트의 공통 코드 작성 스타일 수행 및 권장. 코드 검토는 구성원이 프로그래밍 가이드라인을 준수하도록 하는 효율적인 방법입니다. 이를 수행하려면 모든 소스 코드 파일을 검토하는 것보다 모든 작성자 및 구현자의 결과를 검토하는 것이 더 중요합니다.
  • 자동화된 테스트에서 찾지 못한 오류를 찾습니다. 구현 검토로 테스트에서 발생한 오류와 다른 유형의 오류를 발견합니다.
  • 개인적인 지식을 공유하고 숙련도가 높은 개인이 숙련도가 낮은 개인에게 지식을 이전합니다.

구현 검토에는 여러 기법이 사용될 수 있습니다. 다음 중 하나를 사용하십시오.

  • 검수. 구현이 자세하게 평가되는 정규 평가 기법입니다. 검수는 가장 생산적인 검토 기법이지만 이를 위해서는 훈련 및 준비가 필요합니다.
  • 둘러보기. 구현 작성자가 구현에서 한 명 이상의 검토자를 이끄는 경우 사용되는 평가 기법. 검토자는 질문하고 기법, 스타일, 가능한 오류, 코드 표준 오류 및 기타에 대한 의견을 제시합니다.
  • 코드 읽기. 한두 명이 코드를 읽습니다. 검토자가 지정되면 검토자에게 작성한 설명을 제출하고 질문합니다. 그러나 회의는 생략될 수 있고, 검토자는 대신 서면 양식으로 작성자에게 설명과 질문을 제공할 수 있습니다. 코드 읽기는 작은 수정 확인이나 "새너티(sanity) 검사"로 사용됩니다.

이 역할의 스킬 요구사항은 역할:구현자와 비슷하며 이 역할을 수행하는 사람은 검토 중인 코드에 사용되는 프로그래밍 언어의 전문가로 볼 수 있습니다. 대부분의 프로젝트에서 이 역할에는 구현 팀의 선임 프로그래머가 지정됩니다.

기법: 검토도 참조하십시오.

구현 체크포인트 작성
목적 구현 검토를 위한 체크리스트 작성. 


이 섹션에서는 검토에서 살펴봐야 하는 내용에 대한 예제로서 구현 검토에 필요한 일반 체크리스트를 제공합니다. 코드 품질의 기본 정보 소스는 프로그래밍 가이드라인입니다.

일반

  • 코드가 프로그래밍 가이드라인을 준수합니까?
  • 코드가 자체 문서화되어 있습니까? 코드를 읽으면 이해할 수 있습니까?
  • 코드 규칙 확인에서 발견된 모든 오류 및/또는 런타임 오류 발견 도구가 처리되었습니까?

주석 추가

  • 주석이 최신입니까?
  • 주석 내용이 명확하고 맞는 내용입니까?
  • 코드가 변경될 경우 주석 변경이 용이합니까?
  • 주석이 방법이 아닌 이유에 중점을 두고 있습니까?
  • 예상하지 못한 내용, 예외 상황 및 오류 임시 해결책이 주석으로 추가되어 있습니까?
  • 각 오퍼레이션 목적이 주석으로 추가되어 있습니까?
  • 각 오퍼레이션에 연관된 상관 요인이 주석으로 추가되어 있습니까?

소스 코드

  • 각 오퍼레이션이 오퍼레이션 작업 내용을 설명하는 이름으로 지정되어 있습니까?
  • 매개변수가 설명적인 이름입니까?
  • 각 오퍼레이션의 일반 경로가 기타 예외 경로와 명확하게 구별됩니까?
  • 오퍼레이션이 너무 길어서 연관된 명령문을 개인용 오퍼레이션으로 추출하여 단순화할 수 있습니까?
  • 오퍼레이션이 너무 길어서 결정 지점 수를 줄여서 단순화할 수 있습니까? 결정 지점은 코드가 다른 경로를 사용할 수 있는 명령문입니다(예: if-, else-, and-, while- 및 case 명령문).
  • 루프 중첩이 최소화되어 있습니까?
  • 변수의 이름이 올바르게 지정되어 있습니까?
  • 코드가 직접적이며 "교묘한" 솔루션을 사용하지 않습니까?
검토 레코드 준비 및 결함 문서화
목적 검토 결과 문서화.
식별된 결함이 문서화되도록 합니다. 


각 검토 회의 후에 회의 결과는 검토 레코드에 문서화되어야 합니다. 또한, 결함도 변경 요청에 문서화(및 담당자에게 배정되어 해결 추진)되어야 합니다.