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

时间:2023-03-09 07:06:59
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 配对 ,错误实时编译提示。。。。

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

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