理论教育 静态分析工具实战-Java代码与架构之完美优化

静态分析工具实战-Java代码与架构之完美优化

时间:2023-11-26 理论教育 版权反馈
【摘要】:各种静态分析工具都有默认的设定值,然而这种设定值一般都不是最佳优化配置,本文以Checkstyle工具的优化为例。介绍静态分析工具优化方法。以下步骤,将详细介绍Checkstyle模板优化及共享的技术细节。图2-6 Checkstyle规则优化控制面板⑥作为示例,我们把代码源文件最大代码行数设置成2000行。图2-11 模板导入图2-12 模板类别选择此处的优化是全局优化,可以应用到Eclipse的各个项目。

静态分析工具实战-Java代码与架构之完美优化

各种静态分析工具都有默认的设定值,然而这种设定值一般都不是最佳优化配置,本文以Checkstyle工具的优化为例。介绍静态分析工具优化方法。

Checkstyle的模板文件是XML格式的,可以导入也可以导出。实际项目研发过程中一般是由资深架构师把优化好的模板文件导出,再导入到各个程序员的本地计算机。

以下步骤,将详细介绍Checkstyle模板优化及共享的技术细节。

■第一步,优化模板文件:

①在Eclipse里,找到「Window」⇒「Preferences」,如图2-2所示。

※注:本书中使用的Eclipse是英文版本,部分窗口截图时对默认大小进行了调整。

978-7-111-51509-8-Chapter02-5.jpg

图2-2 Window属性

②因为默认的模板文件是无法修改的,所以需要先根据既存默认模板复制一个新的模板文件,在新的文件上才可以优化成自己特有的文件。在弹出的面板的左侧单击「Checkstyle」,之后在面板的右侧单击「Copy」按钮,如图2-3所示。

978-7-111-51509-8-Chapter02-6.jpg

图2-3 Checkstyle属性设定面板

③在弹出面板中的「Name」属性栏修改默认名称之后单击「OK」按钮。如图2-4所示。

978-7-111-51509-8-Chapter02-7.jpg

图2-4 模板文件命名

④在面板的「Global Check Configurations」内选择刚刚复制的模板文件,然后单击「Set as Default」按钮,如图2-5所示。

978-7-111-51509-8-Chapter02-8.jpg

图2-5 设定模板默认属性

⑤单击面板的「Configure」按钮,在弹出的面板里可以进行各种优化设置,包括添加、删除、修改等功能,如图2-6所示。

978-7-111-51509-8-Chapter02-9.jpg

图2-6 Checkstyle规则优化控制面板

⑥作为示例,我们把代码源文件最大代码行数设置成2000行。单击左侧「Size Violations」选项,右侧会出现具体所包含内容,选择「Maximum File Length」,单击「Open」按钮,如图2-7所示。(www.daowen.com)

978-7-111-51509-8-Chapter02-10.jpg

图2-7 模板细节选择

⑦在弹出面板中的「max」属性里输入“2000”,单击「OK」按钮,就设定完成了,如图2-8所示。

978-7-111-51509-8-Chapter02-11.jpg

图2-8 模板细节设定

■第二步,导出模板文件:

①在面板「Global Check Configurations」内选择之前要导出的模板,之后单击「export」按钮,定义文件名称(例如365itedu_checkStyle.xml)后保存即可,如图2-9所示。

978-7-111-51509-8-Chapter02-12.jpg

图2-9 模板导出

②另外,对导出的文件亦可以进行修改编辑。例如,一句话的结尾,默认是没有中文句号“。”的,我们在如图2-10所示地方加入即可。

978-7-111-51509-8-Chapter02-13.jpg

图2-10 模板编辑

■第三步,导入模板文件:

①在Checkstyle控制面板里,单击「new」按钮,如图2-11所示。

②在弹出面板的Type属性处,选择「External Configuration File」,输入模板文件名称,之后单击「import」按钮,选择模板文件之后,再单击「OK」按钮,如图2-12所示。

978-7-111-51509-8-Chapter02-14.jpg

图2-11 模板导入

978-7-111-51509-8-Chapter02-15.jpg

图2-12 模板类别选择

此处的优化是全局优化,可以应用到Eclipse的各个项目。具体项目选用哪个模板文件,还需要进行设定,此处就不再详述了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈