WC.exe 个人项目
Posted unnamedjq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WC.exe 个人项目相关的知识,希望对你有一定的参考价值。
一、GitHub地址:
https://github.com/N006Unnamed/WC/tree/master
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 30 |
· Estimate | · 估计这个任务需要多少时间 | 30 | 30 |
Development | 开发 | 1500 | 1620 |
· Analysis | · 需求分析 | 100 | 100 |
· Design Spec | · 生成设计文档 | 30 | 60 |
· Design Review | · 设计复审 | 50 | 60 |
· Coding Standard | · 代码规范 | 30 | 30 |
· Design | · 具体设计 | 120 | 150 |
· Coding | · 具体编码 | 800 | 820 |
· Code Review | · 代码复审 | 30 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 120 | 90 |
Reporting | 报告 | 120 | 150 |
· Test Report | · 测试报告 | 60 | 60 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 40 | 40 |
合计 | 1530 | 1650 |
三、解题思路
1、主体:
wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。要想实现统计字符数、单词数和行数就要对文本的内容进行扫描,记录与统计出字符、单词和行数。为了方便编程与缩短程序的长度可以直接调用java中自带的函数,为主体设定一个返回值,当用其他程序调用主体的时候返回其结果。
2、可视化界面:
通过设计一个JFrame类创建显示窗口以及各个功能的按钮,为按钮设定一个鼠标监听器,当鼠标点击时便会调用相关主体中的功能并将其结果显示在textArea中,同时为了防止内容过多超出显示范围就为textArea设置一个滚动轴,使得显示界面更加简洁方便。
3、选择文件:
想要创建一个选择文件的窗口就可以直接使用java中的JFileChooser类,通过result来接收选择的结果。若选择的是打开文件则选择文件后调用getSelectedFile().getPath()获取文件的路径,然后使用Desktop.getDesktop().open()来打开所选择的文件,方便对程序的测试的结果进行检验。而若想要选择文件夹就只需要把JFileChooser的模式换成DIRECTORIES_ONLY(只能选择目录)就可以直接选择一整个文件夹,然后对文件夹里面的子文件进行操作。
4、递归处理的实现:
选择完文件夹之后对其子文件一个一个进行检测看其是否满足所需要的要求(txt文件或者.c.java文件),设置一个file[]数组对找到目标文件进行接收,后面则直接用一个循环语句将file[]数组中的文件一个一个进行操作然后将结果全部输出到窗口。
5、测试文档的选择:
为了保证程序的完整性,分别对单个文档和文件夹进行测试,单个文档包括空白文档、单字符文档、一行文档以及自由源文档和java源文档,对文件夹的处理则是对这些文档全部一起进行处理,将其结果与选择单个文档进行处理的结果进行比较。
四、设计实现过程
五、运行测试
测试文件为:空文档、单字符文档、一行文档、自由文档、java源代码文件以及包含前四个文档的文件夹
空文档测试:
单字符文档测试:
一行文档测试:
自由文档测试:
java源文档测试:
文件夹测试:
测试图形可视化化功能
通过对比可知程序运行结果一致!
代码覆盖率:
六、总结
这次项目我用java作为开发工具,除此之外还采用了许多的插件(WindowsBuilder等)和内部的一些方法使得设计过程轻松不少并且代码的长度也有一定程度缩短,但是我在设计的过程中还是会遇到一些难题,为此我只能上网、询问他人和阅读相关书籍等方法寻找解决方法,在编程方面我还是有所不足,往后我要更加学习编程提高自己的能力,同时还要学习其他的编程语音(C+、Python等)让自己更加全面!
以上是关于WC.exe 个人项目的主要内容,如果未能解决你的问题,请参考以下文章