CodePro Analytix介绍及使用说明


产品部:王帅 CodePro Analytix 介绍及使用说 明 1. 介绍: Google 推出 Instantiations 的开发工具 CodePro Analytix 是一个商业化的产品,可作为独立 产品或 Eclipse 插件使用。CodePro Analytix 带有大约 35 个类别的 900 多个规则,可以通 过多种方式考虑您的代码,并为代码的不同方面生成单元测试;能够自动的完成重复的任 务使 Java 开发者快速的开发出高质量的软件。能够保证代码质量,包括代码检查评审 、 metric、设计模式、测试,等等.。 2. 安装和卸载: 2.1 安装 公司目前 eclipse 使用 的版本是 3.4,因此,这 里 就 重 点 介 绍 eclipse3.4 的安装过程, 其他版本与其差别不 大。其在线安装步骤 大致如下:  打开 eclipse,点 击栏的 Help 开始 安装,如下图 2011-3-29 产品部:王帅 选择 Software Updates...,然后选择 Available Software,点击 Add Site...按钮 在弹出框中输入对应的 url http://dl.google.com/eclipse/inst/codepro/latest/3.4 2011-3-29 产品部:王帅 对应的 url 在网页中获得: http://code.google.com/intl/zh-CN/webtoolkit/tools/download-codepro.html,如下图所示:  点击 OK,然后你就可以看到 Available Software 下面新增加一些列  确保所有选项都被选择以后点击右侧的 Install...按钮, …等待安装 2011-3-29 产品部:王帅  点击 next 按钮,选择"I accept the terms of the license agreement",再点击 Finish,这时候 就会提示你重启 eclipse;  重新启动 eclipse 后,在你项目或者类中右击菜单中会多出一项 CodePro Tools: 这时候安装完成。你就可以使用 CodePro Analytix 来对你的代码进行处理. 2.2 卸载  在 Eclipse,选择 Help>“Software Updates...”打开更新管理器  “在 Installed Software” “标签,选择所有产品组件卸载,然后点击 Uninstall... ”按钮。  按照向导的完成其余部分。  出现提示时重新启动 Eclipse 即完成卸载。 3. 主要功能以及使用: CodePro Analytix 的主要功能有:代码分析审计、生成 JUnit 测试、JUnit 的测试编辑器、类似的 代码分析、度量、代码覆盖、相关性分析等。 接下来将详细介绍每一种功能以及使用: 2011-3-29 产品部:王帅 3.1 Code Audit(代码分析审计) 动态,可扩展的工具,报告和修改那些不符合预定义编码标准(由审计规则决定) 3.1.1 启动代码分析审计: 每一次菜单项 "Audit Code"被选中,代码分析将被运行,将会产生一个违反特定审计规 则的结果集,分析审计视图可以管理多个同时违反审计规则的结果集,但是每次只能处理 结果集中的一个。 3.1.2 预定义的审计规则: 系统默认的审计规则只有一个,CodePro Core,你也可以添加其他的审计规则,如预定义 中的 java 默认风格 CodePro Defaultd 等; 可以运行使用 "Audit Code Using..." 设置,如下图: 2011-3-29 产品部:王帅 • The Elements of Java Style Java 风格的元素 • Effective Java 有效的 Java • Potential Errors and Refactorings 潜在的错误和重构 • Security 安全 • Spelling 拼写 • Internal API 内部的 API 3.1.3 审计规则类包括一下方面: • Clone Usage 克隆用法 • Coding Style 编码风格 • Comments 评论 • Dead Code 死代码 • Eclipse Plug-in Development • Exception Usage 异常使用情况 • Finalization 定稿 • Formatting 格式化 • Hibernate • Import Usage 导入 用法 • Inheritance 继承 • Internationalization 国际 J2EE J2EE 的 o EJB Security 安全 o API Usage o Authentication o Clone Usage Configuration Files 配置文件 . Ant . Ivy . Maven . Websphere . websphere o Exception Usage 异常使 用情况 o File Usage o Finalization 2011-3-29 产品部:王帅 o JSP o Portlets o Servlets • Javadoc Conventions Javadoc 的公 约 • JavaServer Faces JavaServer Faces 的 • JDBC/SQL Usage 的 JDBC / SQL 用 法 • JUnit Usage JUnit 的用法 Logging 日志 o JCL JCL 的 o log4j log4j 的 • Manifest Files Manifest 文件 • Miscellaneous 杂项 • Modifier Usage 改性剂的使用 • Naming Conventions 命名约定 • Pattern Usage 模式的使用方法 • Performance 性能 • Portability 可移植性 • Possible Errors 可能出现的错误 • Potential Refactoring 潜在的重构 • Program Complexity 程序复杂性 • Property Files 属性文件 • Semantic Errors 语义错误 • Serialization 序列化 • Spell Checking * 拼写检查 * • Spring • Struts • Threads and Synchronization 线 程 和同步 • UI Specific (SWT) 用 户 界 面 特 定 ( SWT )的 • Web Services Web 服务 • XML Files XML 文件 o Hibernate o Inheritance J2EE J2EE 的 . EJB EJB 的 . Servlets Servlet 的 o JDBC/SQL Usage 的 JDBC / SQL 用法 o Language Semantics 语 言的语义 o Logging 日志 o Miscellaneous 杂项 o Modifier Usage 改性剂的 使用 o Performance 性能 o Portability 可移植性 o Possible Errors 可 能 出 现的错误 o Semantic Errors 语 义 错 误 o Serialization 序列化 o Struts o Tainted User Input 用 户 输入受污染 o Threads and Synchronization 线程和同步 o UI Specific (SWT) 用户界 面特定( SWT )的 o XML Files 3.1.3.1 实际例子介绍: AB 中的随便拿一个没有错误的代码为例(如下图): 2011-3-29 产品部:王帅 代码检查审批结果显示以下不合格: --------------> 命名太短 --------------> 注释内容过多 --------------> 层次嵌套过深 -----------> 常数命名应该遵从函数标准 -----------> 方法过于复杂 ----------------> “缺失关键字 this” ----------------> 文件缺失 javadoc ----------------> 此类含有过多 Fields 2011-3-29 产品部:王帅 ----------------> 含有过多参数 ----------------> 用 equals()比较好 -----------> 符号"{"不应该重新占用一行 ----------------> 这一行太长 ------------> java 包中没有 package.html 文 件 ----------->条件表达式需要在括号内 ----------->此方法行数过长 3.1.4 审计规则添加扩展: 在 ..\eclipse\plugins\com.instantiations.assist.eclipse.analysis_X.X.X\plugin.xml 文 件 中 , 添 加新的审计规则 Eclipse “重启后可以使用。在 ruleSetLocation”标签中定义了以下属性: 例子: 3.1.5 严重性级别: 审计 “视图包含一个列表的 审核规则” 。违反名称与每个审核规则显示在树的根。每个审计 违规标示有图标,表明其严重性级别: High severity 高严重性 Medium severity 中等严重程度 Low severity 低严重性 3.1.6 审计树的分组方式 审计树的分组方式也可以按照不同格式分组: audit rule (审核规则), category (类), severity (严重程度), resource or (资源) author.(作者)。 2011-3-29 产品部:王帅 3.1.7 右击菜单: 右击任何违反规则的列就会显示以下菜单资源: 3.1.7.1 “Go to File ” “点击 Go to File ”将在编辑栏中显示错误的位置。 3.1.7.2 "Copy to Clipboard" "Copy to Clipboard"将代码检测信息以下列格式复制到粘贴板上,以便他们能够应用粘贴 到电子邮件,文本文件,HTML 文件,XML 文档,甚至是电子表格。 3.1.7.3 "Generate Report" "Generate Report"将代码检测信息结果以 html 格式导出,也可以按照 audit rule, category, severity or resource 等分组。 如下图: 2011-3-29 产品部:王帅 3.2 JUnit Test Generation(JUnit 测试用例生成) CodePro JUnit 工具可以自动创建的案件全面的 JUnit 回归测试。.给定一个输入类,工具类 创建一个相应的测试方法完成每输入一类具有多种测试方法。演习的工具分析每一行代码的 每个方法和输入参数与目标的情况下产生测试(CodePro 代码覆盖设施可以提供的反馈如 何好你的测试用例)。 3.2.1 调用生成测试 2011-3-29 产品部:王帅 单击"Generate Test Cases"(如上图),就可以调用代码生成器生成测试案例;该菜单项不 提示用户的任何其他信息,所有选项的配置目前可在 CodePro> JUnit 中配置,如下图: 3.2.2 目标选择 由于编制单位名单选定,下一步是确定一个目标类型列表。 目标类型是一个生成的类型, 有关的测试案例会。 在每个目标类型,然后我们确定一个构造方法和目标设置。 一个目标 的方法 (或构造)是由一个或多个测试方法生成的。通过 CodePro > JUnit > Code Under Test 允许用户选择哪些类型,以及哪些方法将有测试代码中生成的。用户可以单独控制测 试代码生成各种元素 2011-3-29 产品部:王帅 3.2.3 生成代码的位置 此工具允许用户指定位置中生成的代码,通过 CodePro > JUnit > Generated Code (如上 图),用户可以个人喜好为项目,包,源码和测试制定名称。 • project_name - 项目名 • source_folder -源文件夹名 • package_name -包名 • class_name -类名 3.2.4 生成的测试方法 一个测试案例是一个类,它直接或间接实现了类 junit.framework.TestCase 的 。 这 个类由三个独立的小组成员:框架方法,如 安装;管理测试装置的方法和文件;测试方法 本身; 通过 CodePro > JUnit > Generated Code > Methods,可以根据自己的喜好允许用户控制测试 方法; 3.2.5 生成的测试评论 通过 CodePro > JUnit > Generated Code > Comments 允许用户控制如何生成的代码是注释。 3.2.6 执行 通过 CodePro > JUnit > Test Execution,允许用户控制码发生器的回应方法执行时抛出一个 异常。 3.3 JUnit Test Editor(JUnit 测试编辑器) 丰富的 JUnit 测试的编辑环境,能够快速创建,组织,修改和测试的执行单位。 3.3.1 调用测试编辑器 测试编辑器调用之前,你首先需要生成您的测试类。 右键单击该项目或类 ,并选择 CodePro Tools > Generate Test Cases 。有关详细信息,请参阅 JUnit 测试用例生成部分。.右击 测试类选择 Open With >CodePro Test Editor . 2011-3-29 产品部:王帅 3.3.2 测试编辑器窗格 默认情况下 测试编辑器视图首选项设置为"split with source on left" .当你打开一个测试类, 测试源窗格在左侧和测试编辑器在右侧。.您可以更改此页设置在 CodePro > JUnit > TestEdito 中; 3.3.3 测试编辑器的特性和功能 2011-3-29 产品部:王帅 3.3.3.1 方法列表组合框 列出所有测试的方法。 选择组合框的方法从标签显示了相应的试验测试方法研究。 3.3.3.2 添加测试 测试方法可以通过把测试编辑器或键入到 Java 编辑器直接:(要添加一个测试方法使用 测试编辑器,单击添加一个测试方法 ( ) 或按 Ctrl + Shift +n 。一个新的测试方法添 加到列表中。.输入必要的参数,并断言和保存工作。您还可以添加新的测试方法直接在 Java 编辑器,它会自动显示在保存后测试编辑器。 3.3.3.3 添加断言 额外的断言或者可以添加到 Java 编辑器中键入直接 or by using the Test editor:或使用测 试编辑器:(要添加一个断言使用测试编辑器,单击添加一个断言 ( ) 按钮或 按 Ctrl + Shift + A 的 。出现一个对话框,它接受输入,它们将出现在源。输入必要的投入,然 后按 OK 。 2011-3-29 产品部:王帅 • .现在是一个空列添加到网格像所有其他列的行为。 • (复制选中的行( ) ) ( 要复制的行,选择行或单元格,然后点击 按钮或按 Ctrl + Shift + V 键. 。一个新行 添加了一个不同的方法名称。这是一个新的简单添加的方法。 3.3.3.4 刷新测试(F5 键) 此功能将重新运行所有测试。 2011-3-29 产品部:王帅 3.3.3.5 编辑测试 测试方法可以编辑在测试编辑器或 Java 编辑器。编辑器中所做的更改通过测试反映在 Java 编辑器,反之亦然。 3.3.3.6 删除测试 在 Java 编辑器删除测试方法也将测试编辑器中删除它,反之亦然。要删除一个测试方 法使用测试编辑器,选择行,然后按 Delete 键 。您也可以删除从 Java 源代码编辑器, 它会自动反映在测试编辑器。 3.3.3.7 颜色编码 测试编辑器的运行动态改变测试参数或每当断言。网格变化的背景颜色在不同的测试结 果。 2011-3-29 产品部:王帅 • White - -通过。 • Gray - -Dirty cells,保存需要发生要运行的测试方法。 • Yellow - 黄色 -故障发生前达成的说法。 • Red - T 红色 -断言失败。 注:将鼠标悬停失败的消息在文本上的红色单元格将显示。 3.3.3.8 工具提示 要了解更多有关测试失败,将鼠标悬停在 cell 和描述出现的错误中会形成一个提示。 2011-3-29 产品部:王帅 3.3.3.9 键盘快捷方式 • F12 切换窗格之间的 Java 编辑器和测试编辑器,如果测试编辑器首选项设置为标签 的看法。 • Esc - 取消选择该单元格。 • Tab --移动一个单元格的权利。 • Ctrl+Enter - -移动一个单元格。 • Ctrl+Shift+Enter -移动一个单元格。 • Ctrl+Shift+V-重复选定的列。 • Ctrl + Shift + A - -添加新列。 • Ctrl + Shift + N -添加新行。 • F5 - -刷新并重新运行测试。 • Del - - Delets 选定行或列 3.4 Similar Code Analysis(类似的代码分析) 高效的检查发现 java 代码中重复的或应用性和可维护性非常类似的代码段 3.5 Metrics(度量) 测量和自动化工具,对 Java 源代码正文中关键质量指标的报告 2011-3-29 产品部:王帅 3.5.1 运行"Compute Metrics" 每一次菜单项中的 "Compute Metrics" 被选中时,使度量的默认度量集将被运行。这将产 生一个结果集的指标,然后查看显示在度量视图中。也可以添加其他的度量集在 "Compute Metrics Using"中。 3.5.2 指标表介绍: 该指标表(如下图所示)包含一个列表的度量已运行和运行的结果对应目标元素。度量名 称会显示在第一列。 的度量的结果是显示在第二列。( 个别指标也可能会扩大( 深入 )显 示)该指标的值在每个子范围(项目,包和类型。任何点指标已超过他们的用户定义的阈值, 触发器突出显示红色(或任何其他颜色可设置通过"preference page ") 3.5.3 双击任一度量名称列编辑单位: 双击任一度量名称列编辑单位,就会在编辑器中相应位置中显示出代码信息,如下图: 2011-3-29 产品部:王帅 3.5.4 右击任何度量就会显示一下菜单: 3.5.4.1 “ Go into“ “ 如果是一个子范围内选择了一个指标,在 Go into“命令将重新关注整个指标的水平之 上的范围了。 该 "Go Back" 和 "Go Forward"按钮可能被用来去选定的范围向前和向 后。 3.5.4.2 “Copy to Clipboard“ “上下文菜单包含一个 Copy to Clipboard“项,将允许您捕获结果,使他们可以粘贴到电 子邮件,文本文件,HTML 文件,XML 文档,甚至是电子表格。 3.5.4.3 “ Export Results“ “ 在 Export Results“选项可让您保存当前可见的结果直接为一个简单的文本的文本文件中, 如 HTML 或 XML 格式(如下所示): 2011-3-29 产品部:王帅 一个样本的 XML 报告如下: 3.5.4.4 “Disable Average Number of parameters Metric“ “在 Disable Average Number of parameters Metric“ 命令将禁用当前选定的度量指标设置中。 3.5.4.5 “ Configure Metric “ “ 在 Configure Metric “命令将打开一个对话框,允许您配置所选指标。 2011-3-29 产品部:王帅 3.5.5 详细信息视图 选择一个细节将导致局部视图被填入一个详细视图指定的。 详细视图是只读的,并且具体 到选定的指标,如下图: 一些细节都显示在表的形式,而另一些如图表所示: 2011-3-29 产品部:王帅 返回 恢复到以前的水平可视范围,如果有一个。 前进 .限制到当前所选项目的范围水平。 删除当前按钮的度量 按一下按钮,删除当前的度量将导致的结果集目前可以看到被丢弃。此操作无法撤消。 结果全部删除按钮 点击删除按钮,将导致所有指标结果均套的被丢弃。此操作无法撤消。 在上一个计量结果 2011-3-29 产品部:王帅 3.6 Code Coverage(代码覆盖) 强大的工具,衡量一下代码的百分比,现正在执行使用生成的测试案例或手动测试脚本 代码覆盖工具允许你测试所有执行中的代码。 也许测量代码覆盖为最常见的原因是评估可 能的代码路径,通过行使的效力在所有的测试代码。 有两种不同的机制来提供。选择哪一个适合您的需求主要取决于代码的正在运行的复杂性。 第一是装载在一个虚拟机上的 Java 应用程序,不为某个类专门利用;第二个机制是专为任 意应用程序,但成立初期可能需要更多的工作来获得它,也取决于代码的复杂性。 这两种 机制单独的章节中介绍如下: 3.6.1 简单的代码覆盖 每一个 java 类(必须还有 main()函数),单击"Run Code Coverage ",此类将被执行,结果 将会显示在 Coverage View 中,结果也可以以各种报表格式导出,包括 html,xml 和文本 3.6.2 全功能代码覆盖 3.6.3 查看结果 每次你衡量一个特定的类,一个覆盖报告将会产生。 如果测量同一类的多个时间,该报告 将过去的版本的记忆,使这些版本可以进行比较。 该"number of versions"可以配置记录。覆 盖报告是磁盘存储的,因此他们甚至可以在 Eclipse 关闭,然后重新打开。 2011-3-29 产品部:王帅 3.6.4 了解结果 3.7 Dependency Analysis(依赖相关性分析) 自动化工具,分析和可视化描述,包项目之间的依赖关系和类型 3.7.1 依赖相关性 依赖关系视图可以显示分析结果,并可以分离两个项目或包 。一个依赖分析可以通过项目, 包,框架,根节点,或 Package Explorer 中的一个或多个项目, 点击菜单栏下的 "Analyze Dependencies " 。就启动了该系统,该系统设有一个可依赖的分析清单视图;通过 视图我们可以观察,分析,管理。 3.7.2 依赖相关性查看 2011-3-29 产品部:王帅 3.7.3 下面的操作可在标题栏: Go Back 返回 为了恢复可见级别之前,如果有一个。 Go Forward 前进 恢复一个视图的水平是明显的粒度返回前的最后操作中,如果有。 Go To File 转至文件 打开 Java 文件所代表的文件节点。 显示外部节点 切换粒度能见度在可见光的外部因素,目前的水平。当选择外部元素的显示。 显示节点不包含在环 .切换周期的能见度涉及的元素都没有。选中时,节点为一个周期不显示。 从选定的节点显示的依赖 .原因只有依赖节点源自于选定被显示出来。 在选定的节点(双向)显示相关性 仅造成依赖性,导致选定的节点显示。 2011-3-29 产品部:王帅 在选定的节点显示相关性 原因只有选定的节点依赖性,要么指向或源自显示。 显示所有依赖 所有依赖关系显示出来。 显示引用计数 切换节点之间的引用数的知名度。 选中时,连接线节点将被标上引用数。 市场分析为 HTML 依赖导出的详细分析的 HTML 报告.. 刷新 .重新计算的部分代码之间的依赖关系最初选择当前依赖分析。 消除当前的相关性分析 名单中删除现有分析当前选定的依赖分析。 删除所有相关性分析 删除现有的计算分析所有先前从依赖分析,列出导致一空。 前依赖分析 以下操作在右击菜单: Undo 复原 撤消最后一个节点的操作。 Redo 重做 最后一个节点的操作.. 2011-3-29 产品部:王帅 Go To File 转至文件 .打开 Java 文件所代表的文件节点。 Explore Contents 浏览内容 显示图形元素只包含那些在选定元素和任何元素,他们所依赖。 Explore Dependencies 探索属地 .显示包含所选图形元素的元素的所有元素的引用,要么选择某些元素在不同的元素或从这 些被引用。 Explore Cycle 探索循环 图中显示选定一个节点包含周期的所有要素参与研究。 Explore Closure 探索闭幕 图中显示了一个元素所有引用的(直接或间接)被选中的节点。 Move 移动 调用移动选定的元素重构。 Rename 重命名 调用所选元素重命名重构。 Print Image...打印图像... .打开打印对话框,然后,如果选择一台打印机,打印当前可见的图形。该图缩小到适合在 一张纸上。 Export Graph 出口图 打开一个保存对话框,然后,如果指定文件名,保存为 GIF 当前可见图。 Export Analysis 市场分析 打开一个保存对话框,然后,如果指定文件名,保存选定的分析无论是在目前 的 HTML 或 XML 格式。 备注: 作为商业化产品,CodePro Analytix 附带了附加的功能,包括在您编写代码时捕获错误的 动态代码审核功能,可以帮助初学的程序员了解他们可能犯的错误,并了解用于修复问题 的选项。 开发周期中的构建规程的另一个方面是了解和测量代码库中隐藏的许多度量。在测量为特定 项目生成的工作量时,诸如代码行数和类数量等标准度量非常重要。虽然各项开发工作并非 始终可以使用这样的一般统计信息进行评估,但是这些数字可用作建立基准的指导原则和 2011-3-29 产品部:王帅 用于项目估计目的。 更多信息请访问:http://code.google.com/intl/zh-CN/webtoolkit/tools/codepro/doc/index.html 2011-3-29
还剩29页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 20 金币 [ 分享pdf获得金币 ] 5 人已下载

下载pdf

pdf贡献者

gaopan

贡献于2011-05-13

下载需要 20 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf