- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Lab3:代码评审与程序性能优化
哈尔滨工业大学计算机科学与技术学院
2014年秋季学期《软件工程》
Lab 3:代码评审与程序性能优化
目 录
1 实验要求 1
2 在Eclipse中配置代码审查与分析工具 1
2.1 Checkstyle 1
2.2 PMD 2
2.3 FindBugs 3
2.4 TPTP 4
3 本次实验所评审的代码 4
4 Checkstyle所发现的代码问题清单及原因分析 11
5 PMD所发现的代码问题清单及原因分析 12
5.1 CPD问题 12
5.2 代码规范问题 12
6 FindBugs所发现的代码问题清单及原因分析 14
7 TPTP性能分析结果 14
7.1 执行时间的统计结果与原因分析 14
7.2 内存占用的统计结果与原因分析 14
7.3 代码改进之后的执行时间统计结果 15
7.4 代码改进之后的内存占用统计结果 16
8 评述 17
8.1 对代码规范方面的评述 17
8.2 对代码性能方面的评述 17
9 计划与实际进度 17
10 小结 17
实验要求
针对Lab1所完成的代码,进行代码评审(走查)和性能分析,从时间性
能角度对代码进行优化;
1 练习代码评审的两个方面:静态分析、动态分析(profiling);
2使用以下四个工具完成实验:
– Checkstyle
– FindBugs
– PMD
– TPTP
3按Lab1的分组方式,两人一组,随机分配另一组的代码作为本组评审
和分析的对象,实验期间不能与原作者进行沟通。
在Eclipse中配置代码审查与分析工具
采用屏幕截图的方式给出你自己在Eclipse中配置Checkstyle、PMD、Findbugs和TPTP
的过程。
Checkstyle
PMD
FindBugs
TPTP
本次实验所评审的代码
尹首智_1120310203
package test;
import java.util.*;
import java.io.*;
import java.math.*;
public class test {
String gra = new String();
boolean a[][]= new boolean[4][26];
double q[][] = new double [26][555];
double cost[][] = new double [26][555];
double req_q[] = new double [4];
double req_c[] = new double [4];
double ans_Q[] = new double [4];
double ans_r[] = new double [4];
double ans_c[] = new double [4];
int serv[] = new int[26];
int sev[][] = new int [4][26];
Scanner cin ;
//把文本处理为可用数组,并处理异常输入
public void readData() throws IOException{
//第一个文件处理
cin = new Scanner(new File(./PROCESS.txt));
int cnt=0;
while(cin.hasNextLine()){
String tmp = cin.nextLine();
for(int j=0;jtmp.length();j++){
char char_now=tmp.charAt(j);
if(char_now=Achar_now=Z)
a[cnt][char_now-A]=true;
}
cnt++;
}
double maxq[]=new double [55];
int maxq_num[]=new int[55];
//读第二个文件
cin = new Scanner(new File(./SERVICE.txt));
while(cin.hasNext()){
String tmp = cin.next();
int act_num = tmp.charAt(0) - A;
tmp = tmp.substring(2);
int idx = Integer.parseInt(tmp);
cin.nextDouble();
q[act_num][idx-1
文档评论(0)