练习 1.2:运行结构化分析代码复审
该练习假设您已经完成了练习 1.1:导入需要的资源。在练习 1.2 中,您首先阅读用户场景。然后,您担任用户场景中描述的软件设计人员角色,并使用您在练习 1.1 中导入的项目来完成练习。
用户场景
要复审新近编写的代码来评估它的质量,设计人员想要寻找常规的反模式。反模式是代码中出现的已知问题,它们不遵循最佳实践。设计模式是要遵循的良好模式,而反模式是应该避免的不良模式。一些特定的反模式包括以下类型:
- 易分对象:代码中的对象有太多的依赖关系,这样当另一个对象更改时,这个对象就可能断开。
- 循环依赖性:一组对象彼此相连(经常构成环形),这样对任何对象的更改都可能会影响所有其他对象。也称为对象结。
- 中心对象:对象同时有许多依赖关系和被依赖关系。另一个对象更改时会影响它。同样,它更改时也会影响其他对象。
在第一个练习中,设计人员运行代码复审来寻找上述的反模式。
练习
在此练习中,您执行以下任务:
- 选择要运行的代码复审。
- 查看在代码复审中应用的规则。
- 选择要复审什么代码。
- 运行代码复审。
- 查看代码复审的发现结果。
- 选择一个发现结果,查看有关它的以下信息:
选择代码复审
要选择结构化分析代码复审:
- 在“代码复审”视图中的工具栏上,单击管理规则图标
。

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

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

在“代码复审”视图中提供以下信息。
- 代码复审统计信息:发现结果上方的一行显示关于最近的代码复审的信息:名称、范围、包含的规则和文件的数目,以及发现结果的数目和严重性。
- 代码复审发现结果:代码复审中的发现结果列出在“代码复审”视图的文件夹中。每个文件夹名称都告诉您代码复审名称以及发现结果的类别和数目。
获取关于代码复审发现结果的更多信息
要在代码复审中获取关于发现结果的更多信息:
- 展开结构化分析:循环依赖性文件夹。它包含四个发现结果,如以下屏幕捕获所示:

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

如果图标的旁边有一个灯泡图案(
),这意味着该发现结果存在快速修正。快速修正是为特定发现结果提供的自动解决方法。快速修正图标显示在下图中:

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

您已经完成“练习 1.2:运行结构化分析代码复审”。
发挥代码复审的强大作用
通过主动地运行代码复审,您可以在早期找出问题,这样还可以在早期更正它们,避免它们造成以下问题:
- 影响您的应用程序的性能、维护或可伸缩性。
- 浪费您的公司的资金、时间和资源。
在练习 1.4 中,您通过修正代码复审发现结果,完善您在练习 1.2 中完成的工作。
总结练习 1.2
您已经完成“练习 1.2:运行结构化分析代码复审”。在这个练习中,您执行了以下任务:
- 选择了要运行的代码复审。
- 查看了代码复审中应用的规则。
- 选择了要复审的代码实体。
- 运行了代码复审。
- 查看了代码复审的发现结果。
- 选择了一个发现结果来查看关于它的以下信息:
现在您可以开始练习 1.3:定义体系结构控制规则。