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 配对 ,错误实时编译提示。。。。
该工具能够大大提升工作效率,其他工具都可以卸载了。
同时用此工具就一个感觉 --- 享受编码的乐趣!
delphi新手到高手的工具--castalia的更多相关文章
- Delphi 完整的Bug决议工具EurekaLog的使用
http://blog.csdn.net/akof1314/article/details/6968587 Delphi 完整的Bug决议工具EurekaLog的使用 标签: delphi工具ftp ...
- 从新手到高手c++全方位学习 pdf + 视频教程 共18章
淘宝已经和谐了这个网站,原网址:https://item.taobao.com/item.htm?spm=a1z09.8149145.0.0.mb00D0&id=17350311256& ...
- 新手福音︱正则表达式小工具RegExr
由于之前在做NLP的内容,势必会接触正则表达式,但是呢,又觉得这个学不明白- 于是,这个工具还是蛮不错的,相当于在线正则速查+验证小工具,对于我这样的新手值得去玩玩. github:https://g ...
- Delphi新手跟我学写CALL,附完整原程序
在开始进入正题前先罗嗦几句: 1.本人也刚学Delphi不久,也刚通过<诛仙>游戏的绝大部分CALL不久.所以在以下所说所列举的例子并不算是名门正中的写法,如有不当,请各位原谅. 2.本人 ...
- DELPHI 数据库操作类(工具类)
DELPHI 数据库连接类 做的时候目地是可以通过类的创建和释放进行数据库的短连接,在做服务端的时候每一个请求都通过类生成一个数据连接 unit UnDm; interface uses SysUti ...
- Python美女[从新手到高手]--阅读"见个面问题 HashMap 储存方法"联想
今伯乐在线 上看到一篇文章.一道面试题看 HashMap 的存储方式.也就是问: 在 HashMap 中存放的一系列键值对,当中键为某个我们自己定义的类型.放入 HashMap 后,我们在外部把某一个 ...
- Unity3D插件-自制小插件、简化代码便于使用(新手至高手进阶必经之路)
Unity3D插件-简化代码.封装功能 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 FindT() ...
- Delphi名站以及高手Blog
以前知道的: http://cnblogs.com/del (万一兄的,这个不用解释了) http://www.cnblogs.com/del/archive/2010/04/25/1720750.h ...
- Delphi 开发手机 App 与其他工具之间的比较分析
写在前头 关于各种手机App开发的工具,从2010年前后到现在已经在很多不同的场合介绍过,在元智大学.中台科技大学.德霖科技大学等不同学校的讲座.课程当中,都有类似的主题,所以对我来说,这个主题属于驾 ...
随机推荐
- java-学习1
作为一个想要深入的程序猿,只是学习前端是不够的,我总结我的前端工作是围绕着html.css.js展开写的再好也是展现在表面,所以 我想学习一门能够深入的后台语言,想来想去我还是选择java作为以后深入 ...
- 线段树模板(HDU 6356 Glad You Came)
题目: HDU 6356 http://acm.hdu.edu.cn/showproblem.php?pid=6356 很裸的线段树 #include<bits/stdc++.h> #de ...
- android Zxing 扫描区域的大小设置和自定义扫描view
自己的项目中,只需要修改: CameraManager 里面的 MAX_FRAME_WIDTH .MAX_FRAME_HEIGHT 的值 private static final int MIN_FR ...
- substring 比较(c#和Java)
Java中 string str = "123456"; str .substring(5); 结果:6 Substring(A)表示从原字符串的指定索引号A开始截取直到原字符串的 ...
- uuid生成工具类
public class UUIDTool { public static String getUUID() { return UUID.randomUUID().toString().replace ...
- js 中的原型prototype
每次创建新函数,就会根据规则为该函数创建一个 prototype 属性,该属性是一个指向函数原型对象的指针.并且原型对象都默认拥有一个 constructor 属性,该属性是一个指向那个新建函数的指针 ...
- oracle授予调用存储过程权限
参考 https://blog.csdn.net/h254532693/article/details/45364317 grant execute on PROCEDURENAME to USERN ...
- 2017最新整理移动Web开发遇到的坑
随着前端的热度不断升温,行业对前端的要求越来越高:精准无误的实现UI设计,已成为前端职业更加精细化的一种表现:随着移动互联网的发展.WebApp似乎一种不可逾越的鸿沟:越来越多的企业开始趋势于轻量级的 ...
- oracle数据库导入导出问题
场景描述: 1.做一个从UAT到PRD的Schema迁移,UAT环境有sys用户,PRD环境没有sys用户,由于权限限制,没办法使用expdp/impdp,只好选择exp/imp命令: 2.UAT和P ...
- 食物链(带权&种类并查集)
食物链 http://poj.org/problem?id=1182 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9326 ...