castalia翻译是 神泉 ,是delphi的一个优秀第三方工具。其重构功能尤为突出。代码实时编译提示也很棒。
自卑delphi开发工具没有eclipse那么强大的提示?有castalia为你提升信心。
重构例子如下:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
type Ta = class private function foo():integer; end;
{ Ta }
function Ta.foo: integer; var a,b,c:integer; begin a := 0; b := 0; c := a + b; end;
begin
end.
选中 c := a + b; 这行后,选择菜单 extract method ,神奇出现了,代码变成:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
type Ta = class private procedure foo_Extracted(a: integer; b: integer); function foo():integer; end;
{ Ta }
procedure Ta.foo_Extracted(a: integer; b: integer); var c: integer; begin c := a + b; end;
function Ta.foo: integer; var a, b: integer; begin a := 0; b := 0; foo_Extracted(a, b); end;
begin
end.
自动将局部变量,移动,产生出新的方法;但我们前面由于c没有被重构方法后面 的代码使用,所以被重构成一个过程了。
如果我们后面加上使用代码。再抽取方法,会自动抽取成函数,效果如下:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
type Ta = class private function foo_Extracted(a: integer; b: integer): integer; function foo():integer; end;
{ Ta }
function Ta.foo_Extracted(a: integer; b: integer): integer; begin Result := a + b; end;
function Ta.foo: integer; var a, b, c: integer; begin a := 0; b := 0; c := foo_Extracted(a, b);
writeln(c); end;
begin
end.
然后我们只需要给方法改个名字就ok了。
其功能还有许多。比如过程出口提示,括号配对,begin end 配对 ,错误实时编译提示。。。。
该工具能够大大提升工作效率,其他工具都可以卸载了。
同时用此工具就一个感觉 --- 享受编码的乐趣!
|
请发表评论