实验课程名称?/p>
__
软件工程基础实验
____
实验项目名称
代码评审与程序性能优化
实验成绩
?/p>
?/p>
?/p>
徐强?/p>
专业班级
软件
1602
?/p>
?/p>
?/p>
?/p>
?/p>
吴灿?/p>
实验日期
2018
?/p>
9
?/p>
26
?/p>
第一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备?/p>
耗材,实验方案与技术路线等?/p>
一、实验目?/p>
使用一下三个工具完成代码评审:
-Checkstyle
-FindBugs
-PMD
二、实验内容及要求
针对“实验一”中所完成的代码,进行代码评审(走查)和性能分析,从时间性能角度?/p>
代码进行优化?/p>
?/p>
1
?/p>
使用一下三个工具完成代码评审:
-Checkstyle
-FindBugs
-PMD
?/p>
2
)选择一个代码性能优化工具,对源代码进行性能分析,给出优化方案;
?/p>
“实验一?/p>
的分组方式,
两人一组,
随机分配另一组的代码作为本组评审和分析的对象?/p>
试验期间不能与原作者进行沟通?/p>
三、实验基本原理和方法
?/p>
1
?/p>
Checkstyle
是一款检?/p>
java
程序代码样式的工具,?/p>
以有效的帮助我们检?/p>
代码以便更好的遵循代码编写标
准,特别适用于小组开发时彼此间的样式规范和统一?/p>
Checkstyle
提供了高可配置性,以便适用于各种代码规
范,所以除了可以使用它提供?/p>
sun
的代码标准外,你?/p>
可以定制自己的标准?/p>
Checkstyle
可以让我们养成书写良好代
码风格的习惯?/p>
使用
checkstyle
的过程中可能需要经常的调整配置?/p>
件,
有些
check
过于
严格,可以根据实际情况取消一些代码检查?/p>
?/p>
2
?/p>
Findbugs
是一个在
java
程序中查?/p>
bug
的程序,
它查
?/p>
bug
模式的实例,
也就?/p>
可能出错的代码实例,
注意
Findbugs
是检?/p>
java
字节码,
也就?/p>
*.class
文件?/p>
其实准确
的说,它是寻找代码缺陷的。很多我们写
的不好的地方,可以优化的地方,它都能检?/p>
出来。例
如:未关闭的数据库连接,缺少必要?/p>
null check
,多?/p>
?/p>
null check
,多余的
if
后置条件,相同的条件分支,重
复的代码块,错误的使用了
"=="
等等。而且我们可以
?/p>
己配置检查规则,也可以自己来实现独有的校验规则?/p>
?/p>
3
?/p>
PMD
是一种开源分?/p>
Java
代码错误的工具?/p>
与其?/p>
分析工具不同的是?/p>
PMD
?/p>
过静态分析获知代码错误?/p>
也就是说,在不运?/p>
Java
程序的情况下报告错误?/p>
PMD
?/p>
核心?/p>
JavaCC
解析器生成器?/p>
从根本上看,
Java
源代码只是一些普通的文本。不过,
?/p>
了让解析?/p>
承认这些普通的文本是合法的
Java
代码,它们必须符?/p>
某种特定的结构要
求。这种结构可以用一种称?/p>
EBNF
的句法元语言表示,通常称为
?/p>
语法
?nbsp;
?/p>
Grammar
?/p>
?/p>
JavaCC
根据语法要求生成解析器,用于解析?/p>
Java
编程
语言编写的程序?/p>