如果要我只选一个升级到XE的原因,我会选重构。对用惯D7的朋友,这确实是一个非常实用的新功能,但如果你用过Visual Studio,就会发现微软早就实现了类似的功能。让人困惑的是,XE的重构子菜单有一长串,很多菜单很难直观地想像出其功能。别担心,这些都是给建模用的(比如把某个类方法转移到另外一个类),你常用到的只有几个,仔细的你会发现其实就是设了快捷键的那几个。
1. Rename: 包括重命名变量,函数名,组件名等等。好处是它会把整个项目里所有引用的地方都自动修改!经常碰到名字起的不好或者不一致的,想要修改又嫌麻烦,现在省事多了。
2. Declare Variable,Declare Field: 自动声明,举个例子: for i:=0 to TmpList.Count-1 do begin ...end; 如果变量i没有声明,可以用这个功能加个声明。麻烦的是会弹出对话框让自己选变量类型,并没有节省太多时间
3. Extract Method: 提取方法。这个也很实用,举个例子:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption := 'This is a Test';
Button1.Enabled := false;
end;
我们经常会在form的create事件里做很多的初始化操作,有时候发现这些初始化操作需要重复执行,选中要提取的代码,选择Extract Method,指定方法名为InitScreen,如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
InitScreen;
end;
procedure TForm1.InitScreen;
begin
Form1.Caption := 'This is a Test';
Button1.Enabled := false;
end;
如果提取的代码中引用了本地变量,会自动给新方法加上引用声明。不过,如果提取的代码过于复杂的时候有时会出错,需要自己手工修改。
4. Extract Resource String: 把一个字符串声明称resourcestring类型的常量,目前没发现有什么用处
5. Change Params: 修改函数参数,很不实用的功能
6. Find Unit: 查找类所在的单元,这个功能本来应该很有用,比如你在网上拷贝了一段代码,结果编译提示你找不到某个类型,用这个功能,输入类名,就可以告诉你在哪个单元里,并自动加到Interface或者implementation区域。可是,在实际使用的过程中,先是打开特别慢,我ssd的硬盘都要转半天,似乎每次都重新索引。其次就是有时有些类明明有就是找不到,目前也不清楚怎么回事。可惜这么好的一个功能变鸡肋,不知道XE2中有没有改进。
以上就是XE中常用到的几个和重构相关的功能,其实重构本身远不止这些,工具能实现的只是很小的一部分而已。推荐大家读一读《重构》这本书,搞清楚什么是代码里的Bad Smell,对提高代码质量非常的有帮助。
分享到:
相关推荐
Delphi XE Refactor重构功能简单说明 .mht
refactor(重构-改善既有代码的设计),中文版共15章
程序员必读书之一。如何写出干净的代码.如何用代码与他人交流
js2-refactor.el, emacs的JavaScript重构库 js2-refactor.el emacs的JavaScript重构库。这是一个小型重构函数的Collection,以进一步了解从js2-mode开始的Emacs中的JavaScript IDE 。在 0.8.0中更改添加 e
主要介绍了AndroidStudio中代码重构菜单Refactor功能详解,本文通过代码演示,功能截图来详细说明as为大名重构提供的各项功能,需要的朋友可以参考下
重构 改善代码 代码清晰 clean code 开发必备 重构必备
sublime-text-refactor, 用于Javascript代码的sublime text 重构插件 用于 sublime-text-2和 3的 Javascript重构插件 [[Package Control] ( https://packagecontrol.herokuapp.com/downloads/JavaScript%2
vim-refactor:Vim的通用重构插件
它补充了您在clojure-mode和CIDER中发现的重构功能。 这是一个小型预告片,可帮助您添加缺少的libspec: 安装 强烈建议通过package.el安装clj-refactor 。 在和上可用: M-x package-install clj-refactor 建立 ...
refactor重构 paste粘贴 insert VA snippet 插入VA片段 surround with VA snippet环绕与VA片段(例如:if(){}) tools工具 enable/disable visual assist x启用/禁用视觉协助x visual assist x options视觉协助x...
Refactor pro 1.0.31
特别说明 -------- 新版本请访问网站www.bluefishes.net. 考虑到稳定性,新版本不支持Visual Studio.NET 2002. 产品名称 -------- SharpRefactor(C#代码重构工具) 产品简述 -------- 本工具用于代码...
重构帮助重构代码的命令行工具。用法首先确保您的代码已备份(例如在版本控制下并完全提交)! gem install refactor# Then, from your project (sub)directory:refactor FROM TO 其中FROM和TO可以分别是has_...
自由移动和/或重命名文件,然后运行refactor-imports为您自动重构(并要求)所有导入。 安装 $ npm install -g refactor-js-imports 用法 暂存重命名的文件。 refactor-imports将列出来自git status命令的重命名...
《重构:改善既有代码的设计》 refactor.chm
emacs-refactor:Emacs中特定于语言的重构
BCPR301Ass2Refactor Python作业2-重构 重构先前的分配,消除代码异味-https:
Chapter 1:Refactoring,a First Example 重构,第一个例子 The Starting Point 起点 The First Step in Refactoring 重构第一步 Decomposing and Redistributing the Statement Method 分解并重组...
NG重构 为您的角度vscode体验带来欢乐。 目录 Ng生成资源管理器集成(去做) 贡献 入侵NG Refactor 目标 我花了很多时间来手工重构组件,这已经足够了,我认为这可以使你们中的一些开发者更快乐。 特征 切换...