翻译:Delphi 2005 新特性(二)

类别:Delphi 点击:0 评论:0 推荐:
帮助实时提示

新的帮助实时提示针对标识符提供了类似类,属性,方法或者事件在输入时类似的行为.  帮助实时提示在不同的状况下会有两种不同的显示方法:或者用弹出气泡的方式, 或者和弹出的代码实时提示结合在一起显示.


   当将鼠标移过一个标识符是时就会弹出一个气泡式窗口的实时帮助提供. 它将会针对特定的标识符产生一个工具性的提示窗口来显示相关的信息, 包括到在线帮助的相关链接.


   你还能得到一个和代码实时提示合成的帮助实时提示窗口, 在裹面会根据代码实时提示窗口中选中的节点对应的条目给出进一步的帮助提示. 在你选择了一个属性, 方法或者事件后, 又需要知道那一个才能满足你想要的目的的时候, 显得特别有用.

 

Delphi 2005 帮助实时提示配合代码实时提示时

 

帮助实时提示一样能对你自己定义的类和方法产生相关提示.

结构视图

Delphi 2005 IDE左上角包含了一个结构视图. 这个窗口在某些场合特别有用. 它能显示代码编绎器中源代码的继承结构. 同样, 它也能显示HTML设计器中包含的HTML控件, 就象VCL窗体设计器显示可视化控件的继续结构一样. 对于源代码结构, 结构视图还能动态的在顶层出现一个”错误”节点显示错误实时提示窗口中找到的所有语法错误.

 

Delphi 2005 结构视图

 

当检看可视控件的结构时, 你能双击结构视图中对应的条目来定位到窗体设计器中对应的控件. 当你观察相应HTML 源代码的结构时, 你能双击相应的条目来转到代码编绎器中对应的声明位置.

查找结果

现在当你执行一个查找时, 结果会根据文件名分组显示在一个直观的树状控件中. 你能直接通过文件浏览它们, 也能打开节点来观察在相应文件中找到的每一个对应点.

工具面板

现在工具面板的定位机制已经得到增强, 你只要输入控件的第一个字母就能立即得到一个只包含起始字母与你输入相符的过滤后的类别列表. 并且会高亮显示显示你输入的字母, 和能够在你继续输入字母时进一步的过滤. 按”enter”键将会在设计器中的窗口放置上一个当前选择的控件.

工具面板向导

       除了显示控件(在设计视图)或者代码摘要(当处于代码编绎器中)之外, 工具面板现在还能在对象仓库开始一个新项目时显示一个向导, 并将对象仓库中的类别转成工具面板上的类别. 这个功能允许你能够用快捷键轻易的在向导中创建新的文件, 项目, 对象.

 

2.2 重构

   重构是一种对存在的源代码重新组织结构的过程, 在没有修改代码的行为和输出的前提下, 使代码更容易被重用和维护.

      Borland Delphi 2005 带的重构支持包括许多用用的特性, 有”提取方法”到声明新的变量或字段, 到提取成资源字符串, 再到重命名标识符和复位义命名空间和uses 子句.

 



Delphi 2005 重构菜单

重命名标识符[Delphi/C#]

 

While the Sync Edit feature allows you to lexically rename identifiers in a selected section of source code, for larger sections of source code Delphi 2005 refactoring offers the option to rename symbols (like fields, methods, properties, variables, etc.) using Refactor - Rename. The refactoring dialog will even allow you to view all references before refactoring (so you can verify all places where the rename will be made).

    虽然代码同步编号器可以让你在选择的源代码区域中重命名标识符, 对于范围更大的源代码, Delphi 2005的重构提供了rename这个功能来修改标识符(如字段, 方法, 属性, 变量等).重构对话框甚至还可以让你在重构之前先浏览所有涉及到的引用(这样,你能验证所有被修改到的地方).

 

This feature adds real refactoring intelligence to the standard search and replace functionality, by not just renaming any symbol within the current scope, but only those that are indeed the same as the selected symbol .For example, if you have both a method X and a local variable X, and you want to rename only the method X, Refactor - Rename ensures the local variable X will be left alone, as it recognizes it’s not the same as the method X).

   这个智能重构的特性被融合到查找,替换功能中, 但它不仅用在修改当前范围的所有标识符, 还能只修改与选择的标识符真正相关联的代码. 例如, 如果你同时有一个方法名为X和一个局部变量X, 当你只是想修改方法X的名字时, 重构中的重命名功能会确保忽略对局部变量X的修改, 因为它能区分变量X和方法X并不相同.

  变量声明 [Delphi]

 

    当在写代码的时候, 偶尔会还没有声明一个变量就先使用了. Delphi 2005 的重构允许你使用重构中的Declare Variabl来自动声明这类变量, 它会显示一个对话框来让你指定变量对应类型, 然后增加这个变量的声明到当前区域.

 

    这个选项只在当前变量还没有声明时才可用, 当然应变是这样, 这样的好处是, 它还允许你将精力集中在代码和算法逻辑中, 而不用移动到代码的首端来增加一个变量的声明. 变量声明和错误实时提示配合得很好, 当在错误实时中出现一个高亮显示的未声明变量提示时, 只要简单的右击这个变量来声明就可.

字段声明[Delphi]

 

     和声明未声明的变量类似, Delphi 2005 重构提供了重构--Declare Field来允许你你给一个类声明字段. 如果在同范围内要声明的字段和已经存在的字段名有冲突, 重构将会出现一个对话框来让你解决冲突.

 

     这个功能将会在给类扩展增加功能时节省很多时间, 不会再强迫你转到类的声明部分, 然后手工给字段定义.

  抽出方法[Delphi]

 

    Delphi 2005 重构功能允许你选择源代码的一部分(可能这部分在几个不同的地方重复出现, 或者其它地方需要相同的功能), 并将这部分代码抽出来转为一个方法, 这个重构生成的方法将根据声明的变量自动取得相应的参数列表, 而原来选择部分代码的位置将会由一个呼叫新重构方法的代码取代. 将一个长的代码段分割成几个方法能够提高代码的可重用性和可维护性.

抽出资源字符串[Delphi]

 

   再也没有比用硬编码引用字符串来实现部分源代码的国际化多语言支持困难了. Delphi 2005 重构功能现在允许你将使用到的字符串抽出来生成资源(在你的代码实现部分增加资源字符的声明)

  导入命名空间[Delphi/C#]

     有时, 你会用到在其它命名空间中定义的类, 方法, 字段或者类型, 为了将相应的命名空间增加到uses子句中(相对Borland Delphi)或者 using子句中(相对C#), Delphi 2005 的重构提供了自动将选择标识符对应的命名空间导入的功能.参看重构中的Import Namespace..

     这个功能将让你省下很多查找命名空间的时间

 

2.3          NUnit/DUnit 单元测试

 

     单元测试是一种给代码增加测试的开发方法, 它通过运行测试项目来运行和验证他们自己, 并根据源码的有效性产生报告. 最好的效果, 单元测试应该在一开始就正确应用, 当你在写实际代码的同时就应该增加相应测试单元到其中(一些人甚至认为你应该先写测试代码, 再写真正代码来测试), 单元测试在重构中也扮演了重要的角色,如果只是为了验证重构后的源码是否有改变原来的行为, 这是一个正确的选择.

DUnit/NUnit  

     单元测试框架平时也称为极限测试框架, 和极限编程有关.Delphi 2005 包括DUnit(相对Win32和.Net) 和 NUnit. DUnit (http://dunit.sourceforge.net/) 是Delphi 版本的单元测试框架(同时适应Win32 和 .NET), 而 NUnit (http://www.nunit.org/) 是和种 .NET 语言无关的单元测试框架, 能同时用在C#和Delphi for .NET 上.

  测试项目向导

 

    对每一个项目而言, 你能通过测试项目向导增加一个对应的测试项目到项目组中. 对于 Delphi Win32项目, 将是使用DUnit 测试框架,. 对于 Delphi for .NET 项目, 你能选择使用.NET版本的DUnit 测试框架, 或者选择NUnit 测试框架, 而最后对C#项目来说, 将是使用NUnit 测试框架. DUnit(相应于.NET和Win32)和NUnit 测试框架都提供了可以选择生成图形界面或者控制台方式来执行来显示测试结果.

  测试样例向导

 

   在一个测试项目裹面, 你能使用测试用例向导来增加一个特定的测试用例以便对项目中的某些单元进行测试. 对每一个单元, 你能选择需要的类和方法增加到测试用例中. 同时, 也会生成一个测试样例的例子, 让你以后可方便的参照增加自己的测试代码.

测试运行者

 

    只要给测试项目中增加测试用例, 就会产生独立的测试运行环境, 你就能在Delphi 2005 的IDE中开始运行相关的测试, 并且观察运行结果. 你能得到所有错误和运行失败(如果有的话)的反馈报告, 并且出错时, 测试将会停止, 并在控制台显示出结果.

 

    使用单元测试, 能帮助提高你代码的质量, 可维护性, 和可重用性. Delphi 2005 IDE整合了单元测试使更容易实现单元测试.

本文地址:http://com.8s8s.com/it/it4608.htm