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