WordCount程序与测试
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程序与测试的更多相关文章
- spark学习11(Wordcount程序-本地测试)
wordcount程序 文件wordcount.txt hello wujiadong hello spark hello hadoop hello python 程序示例 package wujia ...
- WordCount程序及测试
Github地址:https://github.com/CG0317/WordCount PSP表: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 30 ...
- Hadoop集群测试wordcount程序
一.集群环境搭好了,我们来测试一下吧 1.在java下创建一个wordcount文件夹:mkdir wordcount 2.在此文件夹下创建两个文件,比如file1.txt和file2.txt 在fi ...
- WordCount小程序及测试
Github项目地址:https://github.com/792450735/wc PSP表格: PSP2.1表格[1] PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Plann ...
- wordcount程序实现与测试
GitHub地址 https://github.com/jiaxuansun/wordcount PSP表格 PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 5 ...
- 软件工程:Wordcount程序作业
由于时间的关系,急着交作业,加上这一次也不是那么很认真的去做,草草写了“Wordcount程序”几个功能,即是 .txt文件的读取,能计算出文件内容的单词数,文件内容的字符数,及行数. 这次选用C来做 ...
- Hadoop环境搭建及wordcount程序
目的: 前期学习了一些机器学习基本算法,实际企业应用中算法是核心,运行的环境和数据处理的平台是基础. 手段: 搭建简易hadoop集群(由于机器限制在自己的笔记本上通过虚拟机搭建) 一.基础环境介绍 ...
- hadoop学习笔记——用python写wordcount程序
尝试着用3台虚拟机搭建了伪分布式系统,完整的搭建步骤等熟悉了整个分布式框架之后再写,今天写一下用python写wordcount程序(MapReduce任务)的具体步骤. MapReduce任务以来H ...
- hadoop2.7.x运行wordcount程序卡住在INFO mapreduce.Job: Running job:job _1469603958907_0002
一.抛出问题 Hadoop集群(全分布式)配置好后,运行wordcount程序测试,发现每次运行都会卡住在Running job处,然后程序就呈现出卡死的状态. wordcount运行命令:[hado ...
随机推荐
- Thinkphp5背景图片的引入~ 以及图片的引入
将图片信息从数据库查询 再渲染于前台页面
- 51nod 1201 整数划分 dp
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 收藏 关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2 ...
- HttpClient MultipartEntityBuilder 上传文件
文章转载自: http://blog.csdn.net/yan8024/article/details/46531901 http://www.51testing.com/html/56/n-3707 ...
- C# Timer 定时任务
C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件. 指定时间间隔是指按特定的时间间隔,如每1分钟.每10分钟.每1个小时等执行指定事件: 指定时间是指每小时的第30分 ...
- scrapy框架使用笔记
目前网上有很多关于scrapy的文章,这里我主要介绍一下我在开发中遇到问题及一些技巧: 1,以登录状态去爬取(带cookie) -安装内容: brew install phantomjs (MAC上) ...
- flutter -------- ListView的使用
学习了Flutter,来分享一下学习的一些常用的知识,先来说说ListView 案例效果: ListView是一个类似列的widget,它的内容对于其渲染框太长时会自动提供滚动. ListView 摘 ...
- 【洛谷p1162】填涂颜色
(今天yy出奇的不活泼,认真的吓人) [传送门] 算法标签: 思路啊qwq: part1: 想法是先暴搜出每一行的1,取最前方一个1和最后方一个1,然后中间的0填上色,80分,因为没有考虑到“0001 ...
- 查看当前Jquery版本
<script type="text/javascript"> $(document).ready(function(){ alert(jQuery.fn.jquery ...
- linux所有命令不能用显示-bash: ls: command not found
所有的命令都显示找不到了,原因是修改了/etc/profile造成的 解决方法 1.修正属性文件中的错误 /usr/bin/vi /etc/profile 2.生效属性文件 source /etc/p ...
- 网盘资源分享:你不知道的JavaScript(上)
链接:https://pan.baidu.com/s/1UEBetOr2Z94oEeu5VsQYXQ 提取码:etts 复制这段内容后打开百度网盘手机App,操作更方便哦