연습 1.2: 코드 검토 실행 및 빠른 수정사항 적용
이 연습에서는 연습 1.1: 필수 자원 가져오기를 완료했다고 가정합니다. 연습에서는
먼저 사용자 시나리오를 읽습니다. 그런 다음, 사용자 시나리오에 설명된 소프트웨어 개발자의 역할을 가정합니다.
사용자 시나리오
지리적으로 분산된 대형 개발자 그룹이 새 소프트웨어 응용프로그램을 코드화하는 중입니다. 개발자는 코드 검토를
정기적으로 실행하여 해당 코드에 문제점이 있는지를 확인하는 것이 중요합니다.
개발자 중 한 명이 코드가 일반적으로 수행되는 방식을 알아보기 위해 코드 검토를 실행하려고 합니다. 여러
영역에서 우수 사례를 평가하도록 새로 작성된 코드를 검토하기 위해 개발자는 자동화된 빠른 코드 검토를 실행합니다. 이
검토는 제공된 규칙의 여러 카테고리를 코드에 적용합니다. 규칙의 각 카테고리는 지정된 영역의 코드 품질(예: 성능)을
검사합니다.
코드 검토가 완료되면 발견사항 목록이 표시됩니다. 각 발견사항에서는 적용된 규칙을 엄격히 준수하는 코드의
문자열을 표시합니다. 발견사항 중 하나에는 사용 가능한 빠른 수정사항이 있으므로, 개발자는 자동화된 솔루션을 적용하여
문제점을 즉시 정정할 수 있습니다.
연습의 첫 번째 파트에서 코드 검토를 실행하려면 다음 타스크를 수행하십시오.
- 실행할 코드 검토를 선택하십시오.
- 코드 검토에서 적용되는 규칙을 보십시오.
- 검토를 실행할 코드를 선택하십시오.
- 코드 검토를 실행하십시오.
- 코드 검토의 발견사항을 보십시오.
- 발견사항을 선택하여 다음 정보를 확인하십시오.
다음으로 코드 검토의 하나의 발견사항에 빠른 수정사항을 적용하려면 다음 타스크를 수행합니다.
- 빠른 수정사항이 발견사항에 대해 사용 가능한 시기를 인식합니다.
- 빠른 수정사항이 코드에 작성할 변경사항 목록을 확인합니다.
- 빠른 수정사항을 적용하기 전에 원래 코드 및 리팩터된 코드를 미리봅니다.
- 빠른 수정사항을 적용하여 코드를 리팩터합니다.
- 빠른 수정사항이 적용된 후 확인합니다.
연습
코드 검토 선택
빠른 코드 검토를 선택하려면 다음을 수행하십시오.
- 코드 검토 보기의 도구 모음에서 규칙 관리 아이콘
을
클릭하십시오.

- 코드 검토 선택 목록에서 빠른 코드 검토를 클릭하십시오. 다음 화면 캡처에 표시된 대로 사용자가
선택한 코드 검토의 규칙 폴더가 표시됩니다.

- 코드 검토에서 적용할 규칙 중 하나를 보려면 J2SE 우수 사례 폴더를 펼친 후 널(null) 서브폴더를
펼치십시오. 널(null) 폴더가 다음 화면 캡처에 표시된 대로 문제점 심각도 레벨이 있는 하나의 규칙을 표시합니다.

다시 한번, 심각도 레벨 아이콘이 다음 설명에 표시됩니다.

- 확인을 클릭하여 빠른 코드 검토를 선택하십시오.
검토할 코드 베이스 선택
프로젝트를 검토할 코드 베이스로 선택하려면 다음을 수행하십시오.
- 코드 검토 보기의 도구 모음에서 검토 아이콘(
) > 프로젝트 > CodeReview_Examples 검토를 클릭하십시오.
코드 검토 실행
검토할 코드 베이스를 선택하면, 코드 검토가 실행됩니다. 보기의 오른쪽 하단에서 진행상태 표시줄을 선택하여
해당 상태를 트랙할 수 있습니다.
코드 검토의 발견사항 보기
코드 검토가 완료되면 다음 화면 캡처에 표시된 대로 발견사항이 코드 검토 보기에 표시됩니다.

코드 검토 보기에서는 다음 정보를 제공합니다.
- 코드 검토 통계: 발견사항 위의 행에는 최근 코드 검토에 대한 정보(예: 유형, 범위, 포함된 규칙과 파일
및 발견사항의 수와 심각도)가 표시됩니다.
- 코드 검토의 발견사항: 코드 검토에서 발견사항은 코드 검토 보기 내의 폴더 내에 나열됩니다. 각 폴더 이름에는
포함된 규칙의 카테고리 및 발견사항의 수가 표시됩니다.
코드 검토의 발견사항에 대한 자세한 정보 보기
코드 검토에서 발견사항에 대한 자세한 정보를 보려면 다음을 수행하십시오.
- 코드 검토 보기에서 J2SE 우수 사례: 비교 폴더로 스크롤하십시오. 그런 다음, 다음 화면 캡처에 표시된
대로 발견사항을 표시할 폴더를 펼치십시오.

- 첫 번째 발견사항이 EqualsHashCode_Example.java와 함께 시작됩니다. 적용된 규칙이 다음 사항 수행 후
표시됩니다.
항상 java.lang.Object.equals() 및 java.lang.Object.hashCode()를 둘 다 대체
- 첫 번째 발견사항을 두 번 클릭하십시오. 다음 위치 및 화면 캡처에 설명된 대로 발견사항에 대한
세부사항이 두 위치에서 표시됩니다.
- 소스 코드: 발견사항이 발생하고 정확한 해당 위치를 강조표시하는 코드를 표시합니다.
- 코드 검토 세부사항 보기: 발견사항을 자세히 설명하고 예제 및 정정할 수 있는 솔루션을 제공합니다.

빠른 수정사항이 있는 발견사항 선택
우수 사례: 비교(Best Practices: Comparison) 폴더에 있는 두 개의 발견사항에는 빠른 수정사항이 있음을
아이콘을 보고 알 수 있습니다. 다시 한번, 빠른 수정사항 아이콘이 다음 설명에 표시됩니다.

- 다음 화면 캡처에 표시된 대로 목록에서 첫 번째 발견사항을 마우스 오른쪽 단추로 클릭하십시오.
- 빠른 수정사항 팝업 메뉴 선택사항은 솔루션에 따라 다릅니다. 선택한 발견사항의 경우,
수정사항은 hashCode 및 equals를 구현하는 것입니다.

- 빠른 수정사항: hashCode 및 equals 구현을 클릭하십시오.
빠른 수정사항 적용
선택한 발견사항의 빠른 수정사항은 hashCode 및 equals를 구현하는 것입니다.
빠른 수정사항을 검토한 후 발견사항에 적용하려면 다음을 수행하십시오.
- 다음 화면 캡처에 표시된 대로 코드에 대한 나란히 보기를 봅니다. 원래 소스 코드는 왼쪽에 있으며 빠른
수정사항으로 작성될 리팩터된 소스 코드는 오른쪽에 있습니다. 빠른 수정사항을 적용할 경우, 강조표시되는 코드의 누락된
행이 추가됩니다.

- 수행할 변경사항 섹션에서, 다음 화면 캡처에 표시된 대로 빠른 수정사항이 변경하는 내용 및 방식을 정확히
표시할 목록을 펼치십시오.

- 목록에서 변경사항을 검토하십시오. 그 다음 확인을 클릭하여 빠른 수정사항을 목록에서 선택된 모든
변경사항에 적용하십시오.
- 빠른 수정사항을 적용한 후 해결된 발견사항 옆의 있는 체크 표시를 확인하십시오.

체크 표시 옆에서 다음 정보를 확인하십시오.
- 적용한 빠른 수정사항
- 발견사항이 위치한 소스 코드의 행 번호
- 코드 검토에서 준수되지 않은 규칙
연습: 코드 검토 실행 및 빠른 수정사항 적용이 완료되었습니다.
연습 요약
연습: 코드 검토 실행 및 빠른 수정사항 적용의 모든 타스크가 수행되었습니다.
코드 검토를 실행하기 위한 타스크
이 코드 검토를 실행할 때 다음 타스크를 수행했습니다.
- 실행할 코드 검토를 선택했습니다.
- 코드 검토에서 적용되는 규칙 보기를 수행했습니다.
- 검토를 실행할 코드의 본문을 선택했습니다.
- 코드 검토를 실행했습니다.
- 코드 검토에 대한 발견사항 보기를 수행했습니다.
- 발견사항을 선택하여 다음 정보 보기를 수행했습니다.
빠른 수정사항을 적용하기 위한 타스크
빠른 수정사항을 적용할 때 다음 타스크 세트를 수행했습니다.
- 빠른 수정사항이 발견사항을 사용할 수 있는 시기를 인식했습니다.
- 빠른 수정사항이 코드에 작성할 변경사항 목록을 확인했습니다.
- 원래 코드 및 리팩터된 코드의 미리보기를 수행했습니다.
- 빠른 수정사항을 적용하여 코드를 리팩터했습니다.
- 빠른 수정사항이 적용되었는지 확인했습니다.
코드 검토 기능의 활용
코드 검토를 선행 학습에 따라 실행하면 발견사항을 신속히 분석할 수 있습니다. 이는 발견사항으로 인해 다음 문제점이
발생하기 전에 신속히 처리할 수도 있음을 의미합니다.
- 응용프로그램의 성능, 유지보수 또는 확장성에 영향을 줍니다.
- 회사 비용, 시간 및 자원이 필요합니다.
빠른 수정사항 기능의 활용
제공된 빠른 수정사항을 적용할 때 공통 발견사항을 분석하는 자동화된 방법이
있습니다. 빠른 수정사항은 다음과 같은 방법에 도움을 줍니다.
- 항상 문제점을 일관성 있게 정정
- 코드를 해제하고 버그를 수정하는 데 소요되는 시간 단축
요약: 코드 검토 실행에서 학습 목적을 검토하여 학습서를 완료하십시오.