연습 1.4: 구조적 문제점 해결

이 연습은 사용자가 연습 1.1: 필요한 자원 가져오기를 완료한 후에 수행해야 합니다. 연습 1.4를 시작하기 전에 먼저 사용자 시나리오를 읽으십시오. 그런 후 사용자 시나리오에 설명된 소프트웨어 아키텍트의 역할로 연습 1.1에서 가져온 프로젝트를 사용하여 연습을 완료하십시오.



사용자 시나리오

코드의 주기 종속성(Cyclic Dependency)을 검사하기 위해 아키텍트는 주기 종속성만을 표시하는 구조적 분석 코드 검토를 실행합니다. 코드 검토에서 일부 주기 종속성이 발견되고 아키텍트가 이들 중 두 가지에 빠른 수정이 있다는 것을 알게 됩니다. 빠른 수정은 일반적인 결과를 복구하기 위해 제공되는 자동화된 방법입니다. 코드를 리팩터하여 순환되지 않게 하기위해 아키텍트가 주기 종속성에 빠른 수정을 적용합니다.

마지막 연습에서 아키텍트는 코드 검토를 실행하고 결과 중 하나를 수정합니다.



연습

이 연습에서 다음 타스크를 수행하십시오.

  1. 코드 검토를 실행하여 주기 종속성을 발견하십시오.
  2. 주기 종속성에 제공된 빠른 수정이 있는 시기를 알아보십시오.
  3. 빠른 수정을 적용하여 주기 종속성을 해결하십시오.
  4. 빠른 수정이 적용되었다는 것을 확인하십시오.


코드 검토를 선택하여 주기 종속성 검사

주기 종속성을 검사하는 코드 검토를 선택하려면 다음을 수행하십시오.

  1. 코드 검토 보기의 도구 모음에서 규칙 관리 아이콘 을 누르십시오.
  2. 코드 검토 보기

  3. 코드 검토 선택 목록에서 구조적 분석 코드 검토를 누르십시오.
  4. 구조적 분석 폴더를 펼치고 주기 종속성 서브폴더를 제외한 모든 것을 지우십시오.
  5. 주기 종속성 서브폴더를 펼치고 다음 화면 캡처에서와 같이 코드 검토에 적용될 규칙을 보십시오. 확인을 누르십시오.
  6. 환경설정 창



검토할 코드 베이스 선택

작업공간을 검토할 코드 베이스로 선택하려면 다음을 수행하십시오.

코드 검토 실행

검토할 코드 베이스를 선택하면 코드 검토가 실행됩니다. 보기의 오른쪽 하단 모서리의 진행 표시줄을 확인하여 해당 상태를 추적할 수 있습니다.



발견된 주기 종속성 목록 보기

코드 검토는 다음 화면 캡처에서와 같이 4개의 주기 종속성(Cyclic Dependcncy)을 발견했습니다. 주기 종속성은 제거되어야 하는 앤티패턴입니다. 주기 종속성에서 객체 그룹은 객체 변경이 나머지 모든 객체에 영향을 미치도록 상호 연결되어 있습니다.

코드 검토 결과, 1개의 접힌 폴더

  1. 구조적 분석: 주기 종속성 폴더를 펼치고 다음 화면 캡처에서와 같이 다음 결과를 보십시오.
  2. 코드 검토 결과, 1개의 펼친 폴더

  3. 목록에서 세 번째 결과를 마우스 오른쪽 단추로 누르십시오. 빠른 수정 팝업 메뉴 선택항목은 솔루션에 따라 다릅니다. 선택한 주기 종속성에 대한 수정사항은 기본 클래스에서 다른 클래스로 정적 필드를 이동한 후 주기 종속성을 제거하는 것입니다.
  4. 빠른 수정: 기본 클래스에서 정적 필드 이동을 누르십시오.
  5. 선택한 결과에 대한 빠른 수정 팝업 메뉴



빠른 수정 적용

선택한 주기 종속성에 대한 빠른 수정은 기본 클래스에서 다른 클래스로 정적 필드를 이동하는 것입니다. 기존 클래스 또는 새 클래스로의 필드 이동을 선택할 수 있습니다.

필드를 새 클래스로 이동하려면 다음을 수행하십시오.

  1. 다음 화면 캡처에서 수정할 주기 종속성(탱글(tangle)이라고도 함)에 대한 읽기 전용 정보를 검토하십시오.
  2. 새 Java 클래스 생성을 누르고 다음을 입력하십시오.
  3. 코드를 이동할 클래스 지정

  4. 미리보기를 눌러 빠른 수정이 변경할 코드를 보십시오.
  5. 수행할 변경사항 목록을 펼쳐서 다음 화면 캡처에서와 같이 정적 필드를 새 클래스로 이동할 때, 빠른 수정이 코드에 변경할 내용이 정확히 무엇인지 확인하십시오.
  6. 수행할 변경사항

  7. 목록에서 Font.java로 시작하는 네 번째 변경사항을 눌러 나란히 있는 코드 보기를 보십시오. 원본 소스 코드는 왼쪽에 있고 빠른 수정에 의해 작성되는 리팩터 코드는 오른쪽에 있습니다.
  8. 선택한 변경사항에 대한 원본 소스 및 리팩터 코드

  9. 확인을 눌러 목록의 모든 선택된 변경사항에 빠른 수정을 적용하십시오.
  10. 빠른 수정을 적용한 후에 문제가 해결되었음을 보여주는 체크표시가 표시됩니다.
  11. 코드 검토, 해결된 결과 옆의 체크표시

연습 1.4: 구조적 문제점 해결을 완료했습니다.



빠른 수정 기능 활용

빠른 수정은 코드 검토의 몇 가지 일반적인 결과를 위해 제공됩니다. 제공되는 빠른 수정을 적용하여 주기 종속성을 해결할 수 있는 자동화된 방법이 있습니다. 다음과 같은 사항을 수행할 수 있습니다.



연습 1.4 요약

연습 1.4: 구조적 문제점 해결을 완료했습니다. 여기에서는 다음 타스크를 수행했습니다.

  1. 코드 검토를 실행하여 주기 종속성 발견
  2. 주기 종속성에 제공된 빠른 수정이 있는 시기 알아보기
  3. 빠른 수정을 적용하여 주기 종속성 해결
  4. 빠른 수정 적용 여부 확인

요약에서 학습 목표를 검토하여 학습을 완료하십시오.



이용 약관 | 피드백
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.