wordCount程序与测试

Github地址:

https://github.com/mostannno/wordCount/tree/master/wordCount

PSP表格:

 

PSP

PSP阶段

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

60

40

Estimate

估计这个任务需要多少时间

600

780

Development

开发

300

240

Analysis

需求分析(包括学习新技术)

120

150

Design Spec

生成设计文档

30

40

Design Review

设计复审(和同事审核文档)

10

10

Coding Standard

代码规范(为目前的开发制定合适的规范)

20

20

Design

具体设计

30

50

Coding

具体编码

300

420

Code Review

代码复审

30

40

Test

测试

60

40

Reporting

报告

30

30

Test Report

测试报告

30

20

Size Measurement

计算工作量

15

15

Postmortem & Process Improvement Plan

事后总结,并提供过程改进计划

15

15

 

合计

1020

1100

 

解题思路:

逐行读取文件代码,通过正则表达式对每一行进行处理最后相加即可。

拓展功能逐个文件进行处理,方式同样为利用正则匹配,识别不同的命令进行不同的操作。

 

代码说明:

private void analysis(){
  if(!isAnalysis){
    isAnalysis=true;
    String s;
    BufferedReader in = null;
    try {
      n =new BufferedReader(new FileReader(path.toString()));
      while((s=in.readLine())!=null){
        switch(analysisLine(s)){
          case SPACE:spaceSum++;break;
          case CODE:codeSum++;break;
          case NOTE:noteSum++;break;
        }
      charNum+=s.replaceAll("\\s", "").length();
      wordNum+=s.split("\\W+").length;
      lineSum++;
    }

    } catch (IOException e) {
    System.out.println("文件不存在"+path());
    }finally{
      try {
        in.close();
        } catch (IOException e) {
        e.printStackTrace();
        }
     }
    }
   }

此处使用了梁锦琳同学的分析代码[1]

 

测试设计过程:

在wc.exe的目录下放置测试文件,分别输入以下命令:

1:-c

 

输入:wc.exe -c file.c

 

2:-w

 

输入:wc.exe -w file.c

 

3:-l

 

输入:wc.exe -l file.c

 

4:-a

 

输入:wc.exe -a file.c

 

5: -o

 

输入:wc.exe -c file.c -o outputFile.txt

 

6: -e

 

输入:wct.exe -c file.c -e stop.txt

 

7:多参数

 

输入:wc.exe -c -w -l -a file.c -e stop.txt -o outputFile.txt

 

8:  -s

 

输入:wc.exe -s -c -w -l *.c

 

9:错误参数

 

输入:wc.exe -c -c -b file.c

 

10:文件为空

 

输入:wc.exe -c -w -o outputFile.txt/WCtest.exe -c -w file.c -o

 

 

参考文献链接:

[1]http://www.cnblogs.com/carroll/p/8601338.html

http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html

 

posted @ 2018-03-20 22:49  miaoTer  阅读(278)  评论(4编辑  收藏  举报