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

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

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

delphi新手到高手的工具--castalia的更多相关文章

  1. Delphi 完整的Bug决议工具EurekaLog的使用

     http://blog.csdn.net/akof1314/article/details/6968587 Delphi 完整的Bug决议工具EurekaLog的使用 标签: delphi工具ftp ...

  2. 从新手到高手c++全方位学习 pdf + 视频教程 共18章

    淘宝已经和谐了这个网站,原网址:https://item.taobao.com/item.htm?spm=a1z09.8149145.0.0.mb00D0&id=17350311256& ...

  3. 新手福音︱正则表达式小工具RegExr

    由于之前在做NLP的内容,势必会接触正则表达式,但是呢,又觉得这个学不明白- 于是,这个工具还是蛮不错的,相当于在线正则速查+验证小工具,对于我这样的新手值得去玩玩. github:https://g ...

  4. Delphi新手跟我学写CALL,附完整原程序

    在开始进入正题前先罗嗦几句: 1.本人也刚学Delphi不久,也刚通过<诛仙>游戏的绝大部分CALL不久.所以在以下所说所列举的例子并不算是名门正中的写法,如有不当,请各位原谅. 2.本人 ...

  5. DELPHI 数据库操作类(工具类)

    DELPHI 数据库连接类 做的时候目地是可以通过类的创建和释放进行数据库的短连接,在做服务端的时候每一个请求都通过类生成一个数据连接 unit UnDm; interface uses SysUti ...

  6. Python美女[从新手到高手]--阅读&quot;见个面问题 HashMap 储存方法&quot;联想

    今伯乐在线 上看到一篇文章.一道面试题看 HashMap 的存储方式.也就是问: 在 HashMap 中存放的一系列键值对,当中键为某个我们自己定义的类型.放入 HashMap 后,我们在外部把某一个 ...

  7. Unity3D插件-自制小插件、简化代码便于使用(新手至高手进阶必经之路)

    Unity3D插件-简化代码.封装功能 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 FindT() ...

  8. Delphi名站以及高手Blog

    以前知道的: http://cnblogs.com/del (万一兄的,这个不用解释了) http://www.cnblogs.com/del/archive/2010/04/25/1720750.h ...

  9. Delphi 开发手机 App 与其他工具之间的比较分析

    写在前头 关于各种手机App开发的工具,从2010年前后到现在已经在很多不同的场合介绍过,在元智大学.中台科技大学.德霖科技大学等不同学校的讲座.课程当中,都有类似的主题,所以对我来说,这个主题属于驾 ...

随机推荐

  1. HBuilder在MAC下的SVN

    1. 安装svn插件,工具--插件安装---svn--安装 2. 使用svn,文件---导入---从svn检出项目 -- 下一步 3. 创建新的资源库位置--下一步-- URL(输入svn仓库地址)- ...

  2. linux安装node简单方法

    1.去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过  uname -a ...

  3. 昆虫之膜翅目(Hymenoptera)

    1.简介 膜翅目昆虫(sawflies, wasps, ants, and bees,叶蜂.黄蜂目.蚂蚁目和蜜蜂目)是四大种类繁多的昆虫目之一,包括15.3万多种已知昆虫,可能还有多达100万种尚未发现 ...

  4. metasploit framework(三):exploit模块

    exploit模块 分为主动,被动exploit 主动exploit:攻击者(通常是客户端)主动发起连接请求,然后发送exploit给被攻击者(通常是服务器端) 被动exploit:被攻击者(通常是客 ...

  5. 区分action, service和dao

    在这里,我们不仅要处理页面逻辑,还要做业务逻辑,还要做数据访问.比如说: public String addUser() { if(user == null) { return FAIL_NO_USE ...

  6. as2.0 清除主时间轴上所有的影片简介

    for (var i in _root) { if (typeof _root[i] == "movieclip") { _root[i].swapDepths(1); _root ...

  7. 贪吃蛇Ground Java实现(二)

    package cn.tcc.snake.antition; import java.awt.Color;import java.awt.Graphics; import java.awt.Point ...

  8. Unity5权威讲解+项目源码+MP4

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  9. 安装vCenter server 6.0

    注意,5.5的还可以直接把iso里的ova直接导入为模板,6.0之后的要拉到Windows下安装. 总路线 ESXI是服务器系统,用vsphere client连接,在client里新建一个虚拟机为W ...

  10. maven 常用参数使用详解

    前言 作为java开发按人员,使用maven构建似乎成为了工作中平常的事情,但有时会遇到一些问题,感到困惑,于是我整理出来,方便其他同学更好的使用,以后会慢慢更新这个文章. 命令介绍 -DskipTe ...