WordCount编码测试

Github项目地址:https://github.com/yangwj001/workcount

 

PSP2.1表格

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

20

 20

· Estimate

· 估计这个任务需要多少时间

 10

 10

Development

开发

 200

 150

· Analysis

· 需求分析 (包括学习新技术)

 20

 20

· Design Spec

· 生成设计文档

 10

 0

· Design Review

· 设计复审 (和同事审核设计文档)

 10

 0

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 10

 0

· Design

· 具体设计

 30

 50

· Coding

· 具体编码

 200

 320

· Code Review

· 代码复审

 50

 0

· Test

· 测试(自我测试,修改代码,提交修改)

 30

 20

Reporting

报告

 30

 30

· Test Report

· 测试报告

 30

 30

· Size Measurement

· 计算工作量

 20

 20

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 10

 10

 

合计

 680

 680

 

解题思路:

先考虑基本功能的实现,统计字符数、单词数、行数

然后考虑扩展功能,按照要求统计代码行、空行和注释行,并要能递归处理目录下符合条件的文件

最后将java文件打包成jar文件以及转换为exe可执行文件,参考了推荐博客

http://blog.csdn.net/sunkun2013/article/details/13167099

 

程序设计实现过程:

通过读取目标文件的每一行字符,并用空格和逗号进行分割,然后通过循环遍历针对切割后的数进行判断,根据输入的命令写入文本中

 

代码分析:

for(int m=0;m<args.length-1;m++)
{
if (args[m].equals("-c")){
fw.write("字符数: "+CharNum);
fw.write(str);
}
if (args[m].equals("-w")){
fw.write("单词数: "+wordNum);
fw.write(str);
}
if (args[m].equals("-l")) {
fw.write("行数: "+lineNum);
fw.write(str);}
if(args[m].equals("-a")) {
fw.write("代码行数: "+Codeline);
fw.write(str);
fw.write("空行数: "+Emptyline);
fw.write(str);
fw.write(“注释行: "+Explainline);
fw.write(str);
} //根据指令输出

 

public class workcount {
public static void main(String[] args) throws Exception {
try {if (args.length == 0) {
System.out.println("without arguments!");
return; } //当没有参数指令时的输出

 

测试设计过程:

设计测试用例

.根据测试用例写测试脚本

测试用例应至少覆盖函数中所有的可执行语句

测试用例最好选择边界条件、空引用等高风险的地方

 

 

参考文献链接:http://blog.csdn.net/sunkun2013/article/details/13167099

http://blog.csdn.net/ycy0706/article/details/45457311

 

posted @ 2018-03-20 14:44  yangwj  阅读(154)  评论(1编辑  收藏  举报