结对编程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)。因项目很小,故程序的内存占用很小,执行时间较短。性能属于较理想状态。

 

posted @ 2018-10-21 18:25  我不爱喝牛奶  阅读(373)  评论(0编辑  收藏  举报