delphi新手到高手的工具--castalia

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 配对 ,错误实时编译提示。。。。

该工具能够大大提升工作效率,其他工具都可以卸载了。

同时用此工具就一个感觉 --- 享受编码的乐趣!