Github地址:

https://github.com/hcy6668/wordCount

PSP表格:

PSP

PSP阶段

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

60

40

Estimate

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

480

985

Development

开发

180

240

Analysis

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

60

40

Design Spec

生成设计文档

30

30

Design Review

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

5

5

Coding Standard

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

30

20

Design

具体设计

25

40

Coding

具体编码

240

380

Code Review

代码复审

30

40

Test

测试

40

40

Reporting

报告

25

40

Test Report

测试报告

20

55

Size Measurement

计算工作量

15

15

Postmortem & Process Improvement Plan

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

15

15

合计

1255

1970

解题思路:

识别用户的命令,读取需要分析的源文件。

从读取文件开始,分析每一行代码的规则,用正则表达式进行代码类型判断,进行统计即可。

代码说明:

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的目录下放置测试文件,分别输入以下命令:

wc.exe -c -a -l -w test.c

wc.exe -c test.c -o output.txt

wc.exe -c test.c -e stop.txt

wc.exe -c -a -l -w test.c -e stop.txt -o output.txt

wc.exe -s -c -w -l *.c

wc.exe -c -c -b test.c

wc.exe -c -w -o output.txt/WCtest.exe -c -w test.c -o

wc.exe -c wc.exe

wc.exe -o output.txt -s -a .*cpp

参考文献链接:

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

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

WordCount程序与测试的更多相关文章

  1. spark学习11(Wordcount程序-本地测试)

    wordcount程序 文件wordcount.txt hello wujiadong hello spark hello hadoop hello python 程序示例 package wujia ...

  2. WordCount程序及测试

    Github地址:https://github.com/CG0317/WordCount PSP表: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划  30 ...

  3. Hadoop集群测试wordcount程序

    一.集群环境搭好了,我们来测试一下吧 1.在java下创建一个wordcount文件夹:mkdir wordcount 2.在此文件夹下创建两个文件,比如file1.txt和file2.txt 在fi ...

  4. WordCount小程序及测试

    Github项目地址:https://github.com/792450735/wc PSP表格: PSP2.1表格[1] PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Plann ...

  5. wordcount程序实现与测试

    GitHub地址 https://github.com/jiaxuansun/wordcount PSP表格 PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 5 ...

  6. 软件工程:Wordcount程序作业

    由于时间的关系,急着交作业,加上这一次也不是那么很认真的去做,草草写了“Wordcount程序”几个功能,即是 .txt文件的读取,能计算出文件内容的单词数,文件内容的字符数,及行数. 这次选用C来做 ...

  7. Hadoop环境搭建及wordcount程序

    目的: 前期学习了一些机器学习基本算法,实际企业应用中算法是核心,运行的环境和数据处理的平台是基础. 手段: 搭建简易hadoop集群(由于机器限制在自己的笔记本上通过虚拟机搭建) 一.基础环境介绍 ...

  8. hadoop学习笔记——用python写wordcount程序

    尝试着用3台虚拟机搭建了伪分布式系统,完整的搭建步骤等熟悉了整个分布式框架之后再写,今天写一下用python写wordcount程序(MapReduce任务)的具体步骤. MapReduce任务以来H ...

  9. hadoop2.7.x运行wordcount程序卡住在INFO mapreduce.Job: Running job:job _1469603958907_0002

    一.抛出问题 Hadoop集群(全分布式)配置好后,运行wordcount程序测试,发现每次运行都会卡住在Running job处,然后程序就呈现出卡死的状态. wordcount运行命令:[hado ...

随机推荐

  1. ConcurrentHashMap为何不会出现ConcurrentModificationException异常

  2. 函数嵌套定义,闭包及闭包的应用场景,装饰器,global.nonlocal关键字

    函数的嵌套定义 在一个函数的内部定义另一个函数 为什么要有函数的嵌套定义: 1)函数fn2想直接使用fn1函数的局部变量,可以将fn2直接定义到fn1的内部,这样fn2就可以直接访问fn1的变凉了 2 ...

  3. springboot自定义starter

    1,创建一个空工程 2,new一个Modules  ---------------- maven (启动器) : springboottest-spring-boot-starter 3,new一个M ...

  4. 基于python的Splash基本使用和负载均衡配置

    0.引言 由于在软件工程综合实践专题课程中,老师要求在博客园发表博客我自己做过的小项目,本博客为课程第一篇博客 本项目来源于寒假学习python网络爬虫时所做的实战小项目,经过精心挑选,选择了页面动态 ...

  5. java,桶排序,冒泡排序,快速排序

    1.桶排序: 百度百科:桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里.每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排 ...

  6. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  7. Java中BigDecimal的舍入模式

    java.math.BigDecimal 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成. 如果为零或正数,则标度是小数点后的位 ...

  8. Android 开发第一项目——计算器的开发记录

    2017.4.1 今天布局界面基本完成,现在写了一点事件绑定.计划是多用动态绑定,随时用随时改.关于布局方面,昨天弄到很晚,原因是Layout使用错误,用的自带的,没仔细看,预览的时候没有问题但是真机 ...

  9. 爬虫(四)requests模块1

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  10. round函数解决oracle报错"OCI-22053: 溢出错误"的问题

    继上次公司网站报错除数为0的问题,这次又来报错溢出错误,还是同一条语句!搜索网上的解决方法,发现问题描述和解决方法如下: Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle ...