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 ...
随机推荐
- nc(NetCat)命令
瑞士军刀netcat官网:http://netcat.sourceforge.net/ 安装:yum install -y nc查询:rpm -q nc 语法:nc [-hlnruz][-g<网 ...
- 亚马逊促销活动Promotion②:Money Off(满减折扣)的设置教程
满减.折扣是放之四海皆有效的促销手段,虽然亚马逊对卖家有诸多限制,但这个促销方式却是允许的,对亚马逊的卖家而言,这对提升商品销量.打造爆款都是极好的.今天小编来讲讲亚马逊的Money Off要怎么设置 ...
- storybook构建vue组件
最近在研究业务型组件的使用,因为在单独开发组件的时候需要调试,所以为每一个组件都编写一个webpack开发环境,然后上传上去为了其他人可以直接使用又把webpack上传上去,这样会有两个问题: 1:每 ...
- 从虚拟dom了解vue渲染函数
vue渲染函数就是render函数,他会返回一个VNode,VNode是一个js对象,是dom的映射 vue在介绍渲染函数那个章节看的不是很懂,所以想要彻底的理解渲染函数,首先需要了解vue的虚拟do ...
- servletsza
servlet本身不能独立运行,需要在一个web应用中运行,而web应用是部署在tomcat上的 所以一个servlet开发需要以下几个步骤: ①创建web应用项目 ②编写servlet代码 ③部署到 ...
- Eclipse手动添加web.xml
当创建web工程时,没有自动创建web.xml 这时候就需要手动添加web.xml 该怎么做呢 右键项目,点击java EE Tools 其中点击Genertate Deployment Descri ...
- python----数据驱动ddt的使用
一.安装ddtpip install ddt 二.数据驱动和代码驱动数据驱动:根据你提供的数据来进行测试,比如接口自动化测试框架ATP代码驱动:必须得写代码才能测试,比如unittest 三.使用数据 ...
- 2018 HDU多校第四场赛后补题
2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...
- idea函数被调用
打开一个复杂的程序或者项目进行分析的时候,我们就需要知道一个方法在哪里被调用,用于迅速厘清代码逻辑.操作如下:选中函数,右键,点击Find Usages. 如图: 操作简单,但右键还是没有快捷键方便. ...
- java通过HttpClient方式和HttpURLConnection方式调用WebService接口
1.引入maven依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifac ...