Delphi XE Refactor重构功能简单说明 转

如果要我只选一个升级到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,对提高代码质量非常的有帮助。

Rename(Shift Ctrl E),

Declare Variable(Shift Ctrl V),

Declare Field(Shift Ctrl D),

Extract Method(Shift Ctrl M),

Extract resource string(Shift Ctrl L),

Change Params(Shift Ctrl X),这几个功能始终是灰色的,想请问一下各位大侠有没有遇到过这种问题,Extract Method(Shift Ctrl M)功能

原文地址:https://www.cnblogs.com/luckForever/p/7254536.html