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

이 연습에서는 연습 1.1: 필수 자원 가져오기를 완료했다고 가정합니다. 연습 1.4에서는 먼저 사용자 시나리오를 읽습니다. 그런 다음, 사용자 시나리오에 설명된 소프트웨어 설계자의 역할을 가정하고 연습 1.1에서 가져온 프로젝트를 사용하여 연습을 완료합니다.



사용자 시나리오

순환 종속성에 해당하는 코드를 검사하려는 경우, 설계자는 해당 종속성만 찾는 구조적 분석 코드 검토를 실행합니다. 코드 검토가 일부 순환 종속성 찾기를 수행하므로 설계자는 몇 가지 빠른 수정사항이 있음에 주의합니다. 빠른 수정사항은 공통 발견사항을 수정하하도록 제공된 자동화 방법입니다. 코드가 순환하지 않도록 리팩터하려는 경우, 설계자는 하나의 순환 종속성에 빠른 수정사항을 적용합니다.

마지막 연습에서 설계자는 코드 검토를 실행하여 발견사항 중 하나를 수정합니다.



연습

이 연습에서는 다음 타스크를 수행합니다.

  1. 순환 종속성을 찾을 코드 검토를 실행합니다.
  2. 순환 종속성에 제공된 빠른 수정사항이 있는 시기를 인식합니다.
  3. 순환 종속성을 해결하도록 빠른 수정사항을 적용합니다.
  4. 빠른 수정사항이 적용되었는지 확인합니다.


순환 종속성을 검사할 코드 검토 선택

순환 종속성을 검사할 코드 검토를 선택하려면 다음을 수행하십시오.

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

  3. 코드 검토 선택 목록에서 구조적 분석 코드 검토를 클릭하십시오.
  4. 구조적 분석 폴더를 펼친 후 순환 종속성 서브폴더를 제외하고 모두 지우십시오.
  5. 순환 종속성 서브폴더를 펼쳐 다음 화면 캡처에 표시된 대로 코드 검토 보기에서 적용되는 규칙을 확인하십시오. 확인을 클릭하십시오.
  6. 환경 설정 창



검토할 코드 베이스 선택

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

코드 검토 실행

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



찾은 순환 종속성 목록 보기

다음 화면 캡처에 표시된 대로 코드 검토에서 네 개의 순환 종속성을 찾았습니다. 순환 종속성은 피해야 할 바람직하지 않은 안티패턴입니다. 순환 종속성에서, 오브젝트 그룹은 상호 연결되어 있어 임의의 오브젝트에 대한 변경사항이 기타 모든 오브젝트에 영향을 줄 수 있습니다.

코드 검토의 발견사항, 하나의 접힌 폴더

  1. 구조적 분석: 순환 종속성 폴더를 펼친 후, 다음 화면 캡처에 표시된 대로 다음 발견사항에 유의하십시오.
  2. 코드 검토의 발견사항, 하나의 펼쳐진 폴더

  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 2004, 2005. All Rights Reserved.