结对编程Wordcount
结对伙伴:201631083106 201631063412
项目链接:https://gitee.com/monkeyjb/WordCount
作业链接:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187
WordCount新增功能
1 wc.exe -a file.c //返回更复杂的数据(代码行 / 空行 / 注释行)
1 //输出更复杂信息 2 public static String getMoreInfo(String fileName){ 3 int noteLine=0; 4 int emptyLine=0; 5 int codeLine=0; 6 String result; 7 String line; 8 try{ 9 BufferedReader bf=new BufferedReader(new FileReader(fileName)); 10 while((line=bf.readLine())!=null){ 11 if(line.length()>1&&!line.contains("//")){ 12 codeLine++; 13 }else if (line.length()<=1) { 14 emptyLine++; 15 }else if (line.contains("//")) { 16 noteLine++; 17 } 18 } 19 bf.close(); 20 }catch (Exception e) { 21 e.printStackTrace(); 22 } 23 result="代码行/空行/注释行:"+codeLine+"/"+emptyLine+"/"+noteLine; 24 return result; 25 }
2 wc.exe -e stopList.txt // 停用词表,统计文件单词总数时,不统计该表中的单词。
3 -e 必须与停用词文件名同时使用,且停用词文件必须紧跟在-e参数后面,不允许单独使用-e参数。stopList.txt中停用词可以多于1个,单词之间以空格分割,不区分大小写。
//停用词表 public static ArrayList<String> stopList(String stopListFile){ ArrayList<String> result=new ArrayList<>(); String line; try{ BufferedReader bf=new BufferedReader(new FileReader(stopListFile)); while((line=bf.readLine())!=null){ String[] stopList=line.split(" "); for(int i=0;i<stopList.length;i++){ result.add(stopList[i]); } } bf.close(); }catch (Exception e) { e.printStackTrace(); } return result; }
5 wc.exe -x //该参数单独使用,如果命令行有该参数,则程序会显示图形界面,用户可以通过界面选取单个文件,程序就会显示文件的字符数、单词数、行数等全部统计信息
互审代码情况
201631083106:
审查内容:基本版Wordcount,getCharCount(字符计数),getLineCount(行计数),getWordCount模块(词计数)
发现问题:代码上未发现较大错误,但是发现注释较少,认为应该在每个方法前加一定注释,方便阅读。
实行注释之后截图:
201631063412
审查内容:新增Wordcount功能模块,getMoreInfo(输出更复杂信息),stopList(停用词表),getWordCount(词计数)
发现问题:功能基本健全,但发现部分命名不规范的情况,如字母未区分大小写,变量命名为做到见名知意。
进行命名更正后的截图:
静态代码检查情况
本次静态代码审查使用的工具是findbugs,使用方法参考https://blog.csdn.net/strawbingo/article/details/5924005
使用过程中,因本次的代码量较少,故未发现任何问题,因此截图略去。
单元测试情况
测试工具:Junit,通过老师在课堂上的介绍,我们采用Junit进行单元测试。Junit的使用十分的方便快捷。
单元测试类:
测试结果:
通过....
黑盒测试
文件夹结构
测试文本文件
停用词表文件
返回代码行 / 空行 / 注释行
性能测试和优化
性能测试使用工具:Test & Performance Tools Platform (TPTP)
通过在网上查阅相关资料得知,eclipse下可使用tptp对代码进行性能的测试,参考网站:https://blog.csdn.net/mark_qi/article/details/7794180
本次代码的性能测试主要使用到的功能有内存分析(Basic Memory Analysis)、执行时间分析(Executeion Time Analysis)、代码覆盖(Method Code Coverage)。因项目很小,故程序的内存占用很小,执行时间较短。性能属于较理想状态。