zoukankan      html  css  js  c++  java
  • 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)功能

  • 相关阅读:
    【郑轻邀请赛 G】密室逃脱
    【郑轻邀请赛 C】DOBRI
    【郑轻邀请赛 F】 Tmk吃汤饭
    【郑轻邀请赛 I】这里是天堂!
    【郑轻邀请赛 B】base64解密
    【郑轻邀请赛 A】tmk射气球
    【郑轻邀请赛 H】 维克兹的进制转换
    解决adb command not found以及sdk环境配置
    adb shell 命令详解,android, adb logcat
    Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254538.html
Copyright © 2011-2022 走看看