zoukankan      html  css  js  c++  java
  • 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 配对 ,错误实时编译提示。。。。

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

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

  • 相关阅读:
    【转】C#中Invoke的用法
    SQLite判断某表是否存在
    qemu-kvm安装and配置桥接和SR-IOV
    Linux内核模块开发(简单)
    NetSpectre:通过网络读取任意内存
    Packet Chasing:通过缓存侧信道监视网络数据包
    Mastik:微体系结构侧信道攻击工具包
    infiniband网卡安装、使用总结
    NetCAT:来自网络的实用缓存攻击
    从线性回归案例理解深度学习思想
  • 原文地址:https://www.cnblogs.com/stevenlaz/p/3482468.html
Copyright © 2011-2022 走看看