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

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

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

  • 相关阅读:
    java模拟多线程
    zookeeper的搭建方法
    虚拟机无法ping通物理机的解决方案
    虚拟机桥接模式下多台Ubuntu16.04系统互相连接
    Ubuntu下安装libpcap+测试安装
    在Ubuntu下安装gcc编译器+测试
    在Ubuntu下配置jdk+maven
    使用Xshell对虚拟机上的Ubuntu系统进行远程连接
    javaWeb开发中常见的问题
    如何用eclipse运行导入的maven项目
  • 原文地址:https://www.cnblogs.com/stevenlaz/p/3482468.html
Copyright © 2011-2022 走看看