wiki:EclipseEtc

Infer Generic Type Arguments

raw type(원시타입)을 사용하는 부분을 제너릭으로 변경

파일을 에디터에 오픈하고 Refactor > Infer Generic Type Arguments

No image "그림추가" attached to EclipseEtc

첫번째 체크박스 : clone() 메소드가 리시버 타입과 같은 타입의 인스턴스를 리턴한다 가정하고 리팩토링

두번째 체크박스 : 타입 인수를 추론할 수 없을 때 <?>를 쓰지 않게 하는 옵션

Migrate JAR File

하위프로젝트에서 만든 jar 파일을 사용하는 상위 프로젝트에서 사용할 경우

jar 내용이 변경 될 경우 상위 프로젝트에서 변경해야 한다.

하위프로젝트에서 변경된 내용을 jar 로 생성시 리팩토링 정보를 포함시켜 생성하면

상위프로젝트에서 Migrate JAR File를 이용해 변경된 내용을 적용할 수 있다.

시험

  • jar로 만들 프로젝트 : lib.jar로 export 한다.
    package lib;
    public class Lib {
     public static void doSomething() {
      ;
     }
    }
    
  • 상위 프로젝트 : lib.jar 파일을 프로젝트 폴더에 복사하고 빌드패스에 적용한다.
package example.refactoring;
import lib.Lib;
public class MigrateJarFiletest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Lib.doSomething();
 }
}

  • lib.jar 내용을 변경
    • doSomething() 메소드 시그니처 변경 : Change Method Signature 메뉴로 변경한다.
    • int 파라미터를 추가하고 디폴드는 0으로 셋팅한다.
    • jar로 Export : Export 시 Export refactorings for checked projects. 체크
    • Select refactorings... 링크 클릭 후 적용할 리팩토링을 선택한다.
  • Migrate JAR File 적용
    • 상위 프로젝트에서 Refactor > Migrate JAR File 선택
    • 다이얼로그에서 교체할 jar 파일 선택
    • Jar file to migrate 창에서 변경할 lib.jar 를 선택한다.

Create Script/apply Script

워크스페이스에서 실행된 리팩토링에 대한 스크립트를 생성

스크립트는 클립보드나 파일에 저장 가능

저장한 스크립트는 Apply Script로 적용가능

CVS 브랜치가 여러개일때, 한쪽에서 적용한 일련의 리팩토링을 다른 쪽 브랜치에 적용할때 사용 가능

History

워크스페이스에 적용된 리팩토링의 히스토리를 볼수 있다.

Refactor > History