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. 解决 Cannot get IBus daemon address 问题

    参考: Cannot get IBus daemon address 解决 Cannot get IBus daemon address 问题 在 Ubuntu 14.04 系统下使用 TexMake ...

  2. vue引入JQ的方法

    在vue中引入jq 用vue-cli脚手架工具构建项目成功后 当需要引入JQ,可用以下方法: 1.首先在package.json里的 dependencies加入"jquery" ...

  3. java在window下用cmd (javac、jar)命令行模拟Intellij IDEA软件生成jar包

    @@首先最重要的cmd命令: javac ,jar :使用如下(注意[.]不要输错): 1. javac编译: D:\MyWorkSet\idea_hadoop>javac -d .\out\p ...

  4. MySQL 8.0.12 基于Windows 安装教程(超级详细)

    MySQL 8.0.12 基于Windows 安装教程(超级详细) (一步一步来,装不了你找我!) 本教程仅适用Windows系统,如果你原本装了没装上,一定要先删除原本的数据库,执行:mysqld ...

  5. Bootstrap 4 网格的基本结构

    Bootstrap 4 网格的基本结构 网格类 Bootstrap 4 网格系统有以下 5 个类: .col- 针对所有设备 .col-sm- 平板 - 屏幕宽度等于或大于 576px .col-md ...

  6. WEB UI 上传URL附件(使用方法备份)

    FUNCTION zcrm_update_atta. *"------------------------------------------------------------------ ...

  7. CDI Features(EL(SPEL),Decorator,Interceptor,Producer)

    一.EL(SPEL) EL 1.概述:EL是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作.EL在得到某个数据时,会自动进行数据类型 ...

  8. vue-cli使用swiper插件

    使用的教程https://blog.csdn.net/lbpro0412/article/details/82465067

  9. 洛谷1855 榨取kkksc03

    题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢?为什么高效呢? 因为,你可以上 ...

  10. 在vue中添加sass的配置的方法

    1.安装sass的依赖包 npm install --save-dev sass-loader //sass-loader依赖于 node-sass npm install --save-dev no ...