Replace Method Code Duplicates Refactoring  

 

Replace Method Code Duplicates 리팩토링은 당신에게 선택된 메소드 코드 반복의 위치를 결정하고, 그들을 메소드 콜로 바꾸는

것을 허락합니다.  이 리팩토링 위에서 상세한 것은 Overview 를 참조하십시오. 그렇지 않으면  how to replace method code duplicates을 기술한 섹션으로 직접 가십시오.

개요


Replace Method Code Duplicates 리팩토링이 호출될 때, IDEA는 선택된 메소드 코드를 분석하고, 이 메소드에 콜과 함께 치환될 수

있는 코드의 블록을 발견합니다.

예를 들면, 당신은 코드를 가집니다:  

 
    public void originalMethod(int intParam, String stringParam){
        BigField.greatMethod(intParam, stringParam);
    }
 
    public void duplicatedMethod(){
        //method code
        BigField.greatMethod(10, "abc");
        //method code
    }

 

originalMethod 에서 리팩토링을 시작하면 당신에게 originalMethod에 콜을 위해 duplicatedMethod 내에서 코드를 교체할 것을
제안할 것입니다.  끝으로, 코드는 그렇게 보일 것입니다: 
 
    public void originalMethod(int intParam, String stringParam){
        BigField.greatMethod(intParam, stringParam);
    }
 
    public void duplicatedMethod(){
        //method code
        originalMethod(10, "abc");
        //method code
    }



메소드 코드 중복을 교체하는 방법


메소드 코드 중복을 발견하고, 교체하기 위하여:

 1.   당신이 코드 중복에 대해 탐색하기 원하는 메소드의 보디 내에서 캐럿을 에디터에서 설정하십시오.  그리고 오른쪽 버튼을 클릭하는 것에 의해 불려지는 팝업 메뉴로부터 또는 메인 메뉴로부터 어느 쪽이라도  Refactor |  Replace Method Code Duplicates... 클릭하십시오.


 2.   그 후에, 다음의 윈도우는 얼마나 많은 매칭 코드 프래그먼트가 발견되었는가를 보여주면서 나타날 것 입니다:



 3.   만일 당신이 Replace를 누르면 IDEA는 당신에게 다음 다이얼로그와 함께 교체를 위해 프롬프팅하며 에디터에서 그것을 강조하고 있는 코드의 각각 발견된 조각을 교체할 것을 제안할 것입니다.



당신은 Yes를 눌러 강조된 코드를 교체할 수 있거나 No를 눌러 그것을 스킵할 수 있습니다.

4.      당신이 프로세스 하기를 선택한 코드의 모든 조각은 선택된 메소드에서 콜과 더불어 교체합니다.