练习 1.2:运行结构分析代码复审
此练习假设您已完成练习 1.1:导入必需的资源。在练习 1.2 中,您首先将读到一个用户场景。然后您担当用户场景中所述的软件设计人员的角色,并使用在练习 1.1 中导入的项目来完成练习。
用户场景
为复审新编写的代码以评估其质量,设计人员需要寻找通用的反模式。反模式是代码中出现的不遵循最佳实践的已知问题。设计模式是要遵循的好的模型,而反模式则是应避免的不好的模型。一些特定的反模式包括以下类型:
- 易分对象:该对象在代码中具有很多依赖关系,当其它对象更改时,它很可能会分裂开。
- 循环依赖关系:这是一组互连程度很强(通常是循环)的对象,对任何对象的更改会影响所有其它对象。也称为对象缠结。
- 集线器:该对象同时有许多依赖关系和从属关系。当其它对象更改,它会受到影响。同样,当它更改时,其它对象也会受影响。
在第一个练习中,设计人员运行代码复审以寻找上面描述的反模式。
练习
在此练习中,您要执行以下任务:
- 选择要运行的代码复审。
- 查看在该代码复审中应用的规则。
- 选择对哪段代码运行复审。
- 运行代码复审。
- 查看代码复审的发现结果。
- 选择一个发现结果,以查看它的以下信息:
选择代码复审
要选择结构分析代码复审,请执行以下操作:
- 在“代码复审”视图中的工具栏上单击管理规则图标
。

- 在选择代码复审列表中,单击结构分析代码复审。
- 展开结构分析文件夹和子文件夹,以查看在该代码复审中应用的规则,如下所示。单击确定。

选择要复审的代码库
要将工作区选为要复审的代码库,请执行以下操作:
- 在“代码复审”视图中的工具栏上单击复审图标(
)> 复审工作区。
运行代码复审
一旦选择了要复审的代码库,代码复审就会运行。您可以通过检查视图右下角的进度条来跟踪它的状态。
查看代码复审的发现结果
当代码复审完成后,发现结果会显示在“代码复审”视图中,如以下屏幕捕捉中所示:

在“代码复审”视图中提供了以下信息。
- 代码复审统计信息:发现结果以上的一行显示当前代码复审的有关信息:名称、范围、包含的规则数和文件数以及发现结果的数目和严重性。
- 代码复审的发现结果:代码复审中的发现结果将列在“代码复审”视图的文件夹内。每个文件夹名称含有以下信息:代码复审的名称、类别和发现的结果数。
获取更多关于代码复审发现结果的信息
要获取更多关于代码复审的发现结果的信息,请执行以下操作:
- 展开结构分析:循环依赖关系文件夹。它包含四种发现结果,如以下屏幕捕捉中所示:

每个发现结果前都有一个图标,该图标指示它的严重性级别。

如果图标旁边有一个灯泡(
),则表示该发现结果有快速修订。快速修订是针对特定发现结果提供的自动解决办法。以下插图中显示了快速修订图标:

- 双击以 Event.java 开头的发现结果。关于它的详细信息显示在两个地方,以下要点和屏幕捕捉列出了这两个地方:
- 源代码:显示发现结果出现的地方,并突出显示其精确位置。
- “代码复审详细息”视图:更详细地描述了发现结果,并提供更正它的示例和解决办法。如果发现结果是循环依赖关系,则还会有一个部分描述循环详细信息。

您已完成了练习 1.2:运行结构分析代码复审。
充分利用代码复审的功能
通过提前运行代码复审,您能尽早发现问题,这样也能在造成以下问题之前尽早更正它们:
- 影响应用程序性能、维护或可伸缩性。
- 浪费公司的金钱、时间和资源。
在练习 1.4 中,您要通过更正代码复审的发现结果,在练习 1.2 所做的基础上进一步深入工作。
完成练习 1.2
您已完成了练习 1.2:运行结构分析代码复审。其中您执行了以下任务:
- 选择了要运行的代码复审。
- 查看了在代码复审中应用的规则。
- 选择了对哪段代码运行复审。
- 运行了代码复审。
- 查看了代码复审的发现结果。
- 选择了一个发现结果,以查看它的以下信息:
现在您就可以开始练习 1.3:定义体系结构控制规则了。