在 Rational Application Developer V7.0 中使用代码复查 (Code Review) 的静态分析特性

本文介绍了 IBM® Rational® Application Developer V7.0 代码复查 (Code Review) 功能的静态分析 (Static Analysis) 特性。由于这一特性可以被快速运行,所以您能够在代码基础的早期探测到问题和矛盾。从而,您能够在这些问题影响到应用程序的维护、可量测性和执行之前,对 其加以修复。

软件工程是一项需要焦点的富有挑战性的实践活动。项目经常被延迟交付,并且许多问题只要在软件运行期间才能够被发现。延迟的交付导致压力的产生,首先要做的事情是什么呢?答案就是:测试。

这 种压力所带来的一个结果就是,越来越少的测试被执行,许多问题无法被发现,从而生产出来的产品变得越来越不稳定。随着不稳定性的增加,施加在开发团队上面 的压力也随之增长,如此往复,形成恶性循环。因此,有效的测试是一个项目获得成功的关键因素。静态分析通过授予开发人员和测试人员一种柔性的方法打破了这 一恶性循环,这种柔性的方法在不影响正常的开发活动的情况下进行有效的测试。

代码复查 (Code Review) 的分析特性概述

静 态代码分析 (Static Analysis) 反映了工具和测试的一个逐渐发展的过程。正如开发工具和平台已经发展到使得开发人员能够创建更大型和更复杂的应用程序一样,IBM® Rational® Application Developer 的分析特性使得开发人员能够更加快捷地在代码中进行评审、识别、并且修正潜在的问题。

然 而,自动化的代码复查并不会取代手工的代码复查。代码复查工具是作为手工评审处理过程的一个必要补充。它们使您能够将更好的代码传递给手工评审阶段,并且 更有效的利用评审会话的时间。与将时间花费到修正常规的错误和矛盾上面所不同的是,您能够集中精力解决那些超出自动化评审范围的、更加复杂的和更具创造性 的设计决策上面。

在组评审中,您能够摆脱那些琐碎的和令人为难的编码错误和矛盾的困扰,将精力集中到设计问题上面。如果代码的变化值得登记的话,那么它们就值得首先通过代码复查来运行。

静 态代码分析使您能够评审代码基础 —— 全部或者任何一个部分 —— 满足一定标准的代码的出现。这些可能是预先定义的条件或者由您所定义的条件。这种类型的代码复查是组件测试和运行时分析的先决条件。在您确定代码通过静态 代码分析测试之后,组件测试和运行时分析应当产生有用的结果,从而使您能够运行后续类型的评审:

大小和复杂性 问题。大小妨碍开发人员和体系结构设计师在早期有效地发现问题。复杂性隐藏了来自开发人员的副作用。执行手工的代码复查和检查是一种在代码中确定问题的很 有效的方式。然而,这种效力往往受到时间约束条件的限制,导致以下这种情况的出现:代码复查和检查或者是不被执行,或者是很少被执行。

由于这种自动化的处理过程十分快捷,所以您能够经常运行代码复查。代码复查使得您能够在早期捕获和修正问题,从而最容易也最经济地做出改变。

自动化的代码复查工具有若干种向软件开发处理过程添加值的方式,这是由于它们执行以下这些任务:

  • 在代码中找到问题;
  • 预防典型的编码错误;
  • 解释每一个问题,并且提供解决方案;
  • 通过基于最佳实践的规则,提高性能和可量测性;
  • 为许多典型的问题提供一个自动化的修复;
  • 使您能够创建出一套规则,这些规则确保您的应用程序设计和标准遵循您所编写的代码。

代码复查的规则

Rational Application Developer V7.0 及其后续版本的分析特性包括 212 规则,分类介绍如下:

  • 设计原则(5):用于面向对象编程的设计原则的规则。
  • 全球化(47):基于全球化编码最佳实践的规则,有助于确保代码在局部环境中正确地运行。
  • J2EE 最佳实践(32):基于最佳的 Java™ 2 Platform Enterprise Edition (J2EE) 开发实践的规则,以及支持瞄准 IBM® WebSphere® 服务的 Web 项目的规则;
  • J2EE 安全性(17):验证代码符合 J2EE 技术安全性需要的规则;
  • J2SE 最佳实践(71):基于最佳的 Java™ 2 Platform Standard Edition (J2SE) 开发实践的规则;
  • J2SE 安全性(9):验证代码符合 J2SE 技术安全性需要的规则;
  • 命名(2):关于 Java 代码中命名约定的规则;
  • 性能(26):加强在 Java 应用程序中提高性能和减少存储器足迹的建议的规则;
  • 私有 API (3):定位那些不属于 Java 代码的 API 的规则。

这些规则分类被进一步地组织到评审之中。被选中的评审指示了哪些规则将被应用到您的代码上面。分析特性包括如下这些评审或者规则集合:

  • Java 全部代码复查:来自所有类别的所有规则;
  • Java 全球化代码复查:来自全球性类别的所有规则;
  • Java 安全性代码复查:来自 J2EE 安全性类别的所有规则;
  • Java 快速代码复查:用于最严重问题的所有规则;
  • Java 最佳实践代码复查:来自 J2SE 最佳实践类别的所有规则。

静态分析处理过程涉及如下三个基本步骤(请参见图 1 所示):

  1. 配置代码复查;
  2. 运行代码复查;
  3. 解释代码复查。

图 1. 静态分析处理过程。
静态分析过程

设置例子项目

为本文设置一个例子项目,从 StaticSampleCodeAnalysis.zip 文件中导入例子源文件。(请您参见 Download 一节。这个例子代码将在本文中通篇被用到。)您还可以在您自己的代码上面运行该静态分析。具体操作步骤描述如下。

使用分析特性

Java 和 Debug 透视图默认情况下就包括分析功能,但是如果您希望在 Java 源代码文件以外的资源上运行一个静态分析的话,那么您可以将分析功能添加到任何一个透视图之中。

为静态分析自定义透视图

遵照以下这些步骤来执行:

  1. 从 Rational Application Developer 菜单栏中,选择 Window > Open Perspective > Customize Perspective 选项。
  2. 当对话框出现时,选择 Commands 标签,点击 Analysis 复选框。
  3. 接受变化,点击 OK 按钮(请参见图 2 所示)。

本文转自:IBM developerWorks 中国

请点击此处查看全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值