2017-09-27 12 views
0

내가 가진 작동하려면 : 나는 "방법을 추출"을 사용하여 기능을 추출 할리팩토링 코드를 아래와 같이 자동 추출 방법은

procedure T.Foo; 
var 
    bar: Integer; 
    bar2: String; 
begin 
    bar := Abs((Round(1.2) + 17) * -1); 
    bar2 := IntToStr(bar); 
end; 

합니다 (Ctrl + + M 시프트)처럼 보이게하기 위해 코드 :

function T.ExtractedMethod: Integer; 
begin 
    result := Abs((Round(1.2) + 17) * -1); 
end; 

procedure T.Foo; 
var 
    bar: Integer; 
    bar2: String; 
begin 
    bar := ExtractedMethod; 
    bar2 := IntToStr(bar); 
end; 

불행하게도 내가 선을 선택하고 때

bar := Abs((Round(1.2) + 17) * -1); //Ctrl+Shift+M on this line 

그것은 VAR 매개 변수와 절차를 제안한다 :

procedure T.ExtractedMethod(var bar: Integer); 
begin 
    bar := Abs((Round(1.2) + 17) * -1); 
end; 

강제로 사용 기능이 있습니까?

+3

아니요, 불행히도 아닙니다. * Extract 메서드는 * 오직 var params로 프로 시저를 생성합니다. 내가 몇 년 동안 바꿨 으면 좋겠던 무엇인가. –

답변

3

아니요, Delphi의 Extract Method 리팩토링은 항상 프로 시저를 만듭니다.