WordCount(java)
github项目链接 https://gitee.com/huwenli/Wc.git
1.项目简介
WordCount的需求可以概括为:对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。
可执行程序命名为:wc.exe,该程序处理用户需求的模式为:
wc.exe [parameter] [input_file_name]
存储统计结果的文件默认为result.txt
2.项目psp表格
PSP2.1表格
|
PSP2.1 |
PSP阶段 |
预估耗时 (分钟) |
实际耗时 (分钟) |
|
Planning |
计划 |
60 | 100 |
|
· Estimate |
· 估计这个任务需要多少时间 |
1800 | 1200 |
|
Development |
开发 |
1100 | 100 |
|
· Analysis |
· 需求分析 (包括学习新技术) |
180 | 240 |
|
· Design Spec |
· 生成设计文档 |
50 | 30 |
|
· Design Review |
· 设计复审 (和同事审核设计文档) |
30 | 30 |
|
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
20 | 20 |
|
· Design |
· 具体设计 |
120 | 120 |
|
· Coding |
· 具体编码 |
100 | 110 |
|
· Code Review |
· 代码复审 |
30 | 20 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
120 | 300 |
|
Reporting |
报告 |
150 | 20 |
|
· Test Report |
· 测试报告 |
40 | 20 |
|
· Size Measurement |
· 计算工作量 |
50 | 10 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
40 | 40 |
3.思路
了解java关于文件的读写,IO流的基本语法;
对字符进行统计,就要会一些正则表达式去处理这些字符串;
思考如何进行单词,行数统计;
学习如何打包jar包;
将项目推到GitHub上;
完成指定博客内容;
将功能进行完善;
4.程序设计实现
行数统计

字符和单词统计

命令输入,将结果写入

command函数



测试函数


5.测试设计过程
1,测试命令输入是否正确
正确的命令测试:-c 1.c

正确的命令测试:-l 1.c

正确的命令测试:-w 1.c

正确的命令测试:-c -l -w 1.c

正确的命令测试:-c -l -w -o 1.c 1.txt

错误的命令测试

result.txt文件内容

2,通过控制台测试代码

6.参考文件链接
java文件读取的几种方式https://www.cnblogs.com/hudie/p/5845187.html
http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html。
7.个人总结
在完成这个项目的过程中没我遇到的最大问题时不知道怎么测试和打包问题,还有便是路径问题。在博客的书写过程中,比较生疏,主要借鉴网上各种资料去处理,模仿格式去完成博客,同时,在撰写博客的过程中我发现这其实是对整个项目过程的一次回顾与反思。于我而言,受益匪浅。希望在之后的学习中可以有更多的收获和进步。
在学习过程中,我觉得最大的时间花费在新软件的学习了解上,网上的博客资料很多但是都过于繁琐,在时间有限的情况下总会出现各种问题。我觉得花费了太多时间在了解新软件上却没有时间完善自己的项目功能。在测试上,我还不会逻辑清晰的层次分明的去学习测试,今后要多花时间去了解各种高效有用的测试方法。
WordCount(java)的更多相关文章
- 如何夯实(Java)编程基础,并深入学习和提高
如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...
- TCL校园招聘——软件开发工程师(java) 只招5个。。。
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
- 开源工作流 Bonita BPM (JAVA)
Bonita BPM 开源工作流 Bonita BPM (JAVA) http://www.bonitasoft.com/
- ZeroMQ(java)中对IO的封装(StreamEngine)
哎,各种各样杂七杂八的事情...好久没有看代码了,其实要搞明白一个与IO相关的框架,最好的办法就是把它的I/0的读写两个过程搞清楚...例如在netty中,如果能将eventLoop的运行原理搞清楚, ...
- 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码
转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...
- 随机产生30个两个两位数相加的题目(java)
编程思路: 1首先遇到JAVA产生随机数的问题. 2把产生的随机数设定范围. 3把划分的范围再分四个小区段分别对应四则运算法则加减乘除. 4打印输出. 题目源代码(Java) package coun ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- MongoDB的update有关问题(JAVA)——如何一次更新所有的相同记录
MongoDB的update问题(JAVA)——怎么一次更新所有的相同记录用如下这个函数:public WriteResult update(DBObject q, DBObject o, boo ...
随机推荐
- loadrunner 参数化取值方式详解
参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...
- js点滴3 vs vue
web Components 学习之路 https://www.cnblogs.com/zhaowinter/p/5447246.html vue学习指路. vue全局配置. ignoredEleme ...
- python 学习笔记 3 ----> dive into python 3
Python内置数据类型 注意: Python可以不需要声明变量的数据类型.它是根据变量的初始赋值情况分析数据类型,并在内部跟踪变量. 比较重要的数据类型: 1 布尔型(Booleans):True. ...
- Linux重要命令总结
tar命令后面最常跟的参数 -zxvf 是什么意思? z 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压 x 从 tar 包中把文件提取出来,单词extract的含义是 ...
- 2019南昌网络赛G. tsy's number
题意:\(\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\frac{\phi(i)*\phi(j^2)*\phi(k^3)}{\phi(i)*\phi(j)*\phi(k)} ...
- 自己常用vs code 插件
subline 快捷键配置插件 Auto Close Tag — 自动闭合HTML标签 Auto Rename Tag — 修改HTML标签时,自动修改匹配的标签 background — 背景 ...
- SQL运行优化收藏
如何让你的SQL运行得更快(转贴) ---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境 ...
- idea 本地tomcat启动控制台乱码问题
问题:本地tomcat启动,控制台出现中文乱码: 解决办法: 安装了idea发现启动tomcat的时候控制台会有乱码问题,在tomcat配置中添加在VM options填写-Dfile.encodin ...
- js 获取二级域名
js获取页面完整地址: window.location.href; var s =" https://ejym.baidu.com"; var h = s.s ...
- 8款非常不错的.Net反编译利器
本人搜集了下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的.Net反编译工具.Reflector是由微软员工Lutz Roeder编写的免费程序.Refle ...