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. eclipse 下修改Dynamic Web Modulle 的问题

    上图右侧圈中位置  有提示对应jdk版本. 若在eclipse修改Dynamic Web Modulle 为3.0失败,可以去项目工作空间文件中的.seting文件下修改: 上图对应的 <ins ...

  2. IntelliJ IDEA 和 Pycharm 破解

    关键网址:http://idea.lanyus.com/ 步骤: 1. 在http://idea.lanyus.com/上下载:JetbrainsCrack-2.9-release-enc.jar . ...

  3. APP测试常见点

    1. 生成APK文件在真机上可以安装和卸载(安装卸载测试) 2. 第三方手机助手上面可以安装和卸载(安装卸载测试) 3. 启动APP 4. 验证数字签名.升级后可以正常使用.在线跨版本升级(在线升级测 ...

  4. LInux 些许知识

    1.Linux下去掉^M的方法 ①dos2unix filename ②sed -i 's/^M//g' filename #注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M 2.so ...

  5. 方程的解_NOI导刊2010提高

    方程的解 给定x,求\(a_1+a_2+...+a_k=x^x\ mod\ 1000\)的正整数解解的组数,对于100%的数据,k≤100,x≤2^31-1. 解 显然x是可以快速幂得到答案的,而该问 ...

  6. (最完美)红米手机5的Usb调试模式在哪里打开的教程

    就在我们使用安卓手机接通PC的时候,或者使用的有些app比如我们企业营销部门就在使用的app引号精灵,之前老版本就需要开启usb开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启usb开发者 ...

  7. mac 中git操作账号的保存与删除

    保存: 在mac中自动保存git的用户名和密码很简单,只需要在终端命令行中输入下面的命令就是: git config --global credential.helper osxkeychain 然后 ...

  8. [LeetCode] 80. Remove Duplicates from Sorted Array II ☆☆☆(从有序数组中删除重复项之二)

    https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/discuss/27976/3-6-easy-lines-C% ...

  9. Linux开发工具_yum使用

    yum 的说明与使用 1.什么是yum? 软件包管理器 提供了查找.安装.删除某一个.一组甚至全部软件的命令 命令简洁好用 2.yum语法 yum [ 选项 ] [命令] [安装包] 选项: -h h ...

  10. 【还是回来了】博客搬家--https://cangbean.github.io

    还是弄了个自己的地址:https://cangbean.github.io 想记录下,防止万一以后迁移不好弄 想练习markdown写作 折腾而已 以后不再博客园记录东西了,但是还是会回来看看的