wordcount plus
1、合作者
201631062618,201631062629
2、代码地址
https://gitee.com/fwbkwbxd/wordcount
4、正文
(1)psp表格
psp2.1 | psp阶段 | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 70 | 50 |
Estimate | 估计这个任务需要多少时间 | 100 | 75 |
Development | 开发 | 600 | 700 |
Analysis | 需求分析 (包括学习新技术) | 200 | 300 |
Design Spec | 生成设计文档 | 40 | 40 |
Design Review | 设计复审 (和同事审核设计文档) | 30 | 30 |
Coding | 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
Code Review | 具体设计 | 70 | 90 |
Test | 具体编码 | 100 | 200 |
Reporting | 代码复审 | 30 | 60 |
Test Report | 报告 | 30 | 70 |
Size Measurement | 测试报告 | 30 | 10 |
Postmortem & Process | 计算工作量 | 20 | 25 |
Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1350 | 1685 |
(2)代码互审情况
陈恒审查黄浩:
1、目录处理存在bug,返回空文件列表,没做相应处理。
2、若在输入模块中file对象带有空格,在命令行界面无法处理,只是抛出一个异常。
3、在图形界面,应该让用户选择文件,而不是输入文件名,那样太容易输入错,且更方便处理代码。
黄浩审查陈恒:
1、判断输入的一串指令是否符合要求的模块,存在重复输入同意指令报错的情况。
2、在命令行输入模块中,若文件名带有空格,会被分割成两个参数进入字符串数组,导致检查指令是否合法不通过,不能正常运行。
(3)项目流程图:
(4)项目展示
启动界面:
在命令行界面执行全部指令:
执行结果
对于命令行界面至今存在一个bug,就是无法检查文件名出现空格的文件,这里程序只做了一个抛出提示信息的处理。
图形界面
启动图形界面是在命令行中输入-x
界面展示:
选择指令:
选择文件:
全部指令选择后的执行结果:
执行后会根据不同的结果来出现提示窗口,于命令行不同图形界面可以处理名字中含有空格的文件,这得益于图形界面的执行指令可以拼接非常好操作。
(5)关键代码说明
'''java
//检验输入指令是否合法的代码主要是通过拆分输入的指令到一个字符串数组中,在对其进行进一步检验,如代码中的注释
while(flag)//输入不正确 循环输入知道正确为止。
{
str= p.split(getString(infor));//将输入信息切分成数组 //输出输入内容 for(String val:str) { System.out.println(val); } if(str[0].equals("-x")) { return str; } //命令的参数长度必定大于2 else if(str.length>=2) { //倒数第二位不-o,不指定输出文件 if(str[str.length-2].indexOf("-o")==-1) { int count=0; //此循环用于遍历命令数组,统计含-的命令数 for(int i=0;i<str.length-1;i++) { ma= p1.matcher(str[i]); if(str[i].startsWith("-")&&str[i].length()==2) { if(str[i].contains("-s"))//若带—s参数必带一个匹配的字符,此时需要加1 { count++; } if(str[i].contains("-e"))//若带-e参数必定带一个 停用表 ,此时需加1 { count++; } if(ma.find()) { count++; } } } if(count==(str.length-1)) { flag=false; //oper.setFile1(new File(str[str.length-1])); } else System.out.println("存在错误指令,请按要求输入"); } else //指定输出文件 { int count=0; for(int i=0;i<str.length-1;i++) { ma= p1.matcher(str[i]); if(str[i].startsWith("-")&&str[i].length()==2) { if(str[i].contains("-s")) { count++; } if(str[i].contains("-e")) { count++; } if(ma.find()) { count++; } } } if(count==(str.length-2)) { flag=false; //oper.setFile1(new File(str[str.length-3])); } else System.out.println("存在错误指令,请按要求输入"); } } else { System.out.println(err); } }
1、合作者
201631062618,201631062629
2、代码地址
https://gitee.com/fwbkwbxd/wordcount
4、正文
(1)psp表格
psp2.1 | psp阶段 | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 70 | 50 |
Estimate | 估计这个任务需要多少时间 | 100 | 75 |
Development | 开发 | 600 | 700 |
Analysis | 需求分析 (包括学习新技术) | 200 | 300 |
Design Spec | 生成设计文档 | 40 | 40 |
Design Review | 设计复审 (和同事审核设计文档) | 30 | 30 |
Coding | 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
Code Review | 具体设计 | 70 | 90 |
Test | 具体编码 | 100 | 200 |
Reporting | 代码复审 | 30 | 60 |
Test Report | 报告 | 30 | 70 |
Size Measurement | 测试报告 | 30 | 10 |
Postmortem & Process | 计算工作量 | 20 | 25 |
Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1350 | 1685 |
(2)代码互审情况
陈恒审查黄浩:
1、目录处理存在bug,返回空文件列表,没做相应处理。
2、若在输入模块中file对象带有空格,在命令行界面无法处理,只是抛出一个异常。
3、在图形界面,应该让用户选择文件,而不是输入文件名,那样太容易输入错,且更方便处理代码。
黄浩审查陈恒:
1、判断输入的一串指令是否符合要求的模块,存在重复输入同意指令报错的情况。
2、在命令行输入模块中,若文件名带有空格,会被分割成两个参数进入字符串数组,导致检查指令是否合法不通过,不能正常运行。
(3)项目流程图:
(4)项目展示
启动界面:
在命令行界面执行全部指令:
执行结果
对于命令行界面至今存在一个bug,就是无法检查文件名出现空格的文件,这里程序只做了一个抛出提示信息的处理。
图形界面
启动图形界面是在命令行中输入-x
界面展示:
选择指令:
选择文件:
全部指令选择后的执行结果:
执行后会根据不同的结果来出现提示窗口,于命令行不同图形界面可以处理名字中含有空格的文件,这得益于图形界面的执行指令可以拼接非常好操作。
(5)关键代码说明
'''java
//检验输入指令是否合法的代码主要是通过拆分输入的指令到一个字符串数组中,在对其进行进一步检验,如代码中的注释
while(flag)//输入不正确 循环输入知道正确为止。
{
str= p.split(getString(infor));//将输入信息切分成数组 //输出输入内容 for(String val:str) { System.out.println(val); } if(str[0].equals("-x")) { return str; } //命令的参数长度必定大于2 else if(str.length>=2) { //倒数第二位不-o,不指定输出文件 if(str[str.length-2].indexOf("-o")==-1) { int count=0; //此循环用于遍历命令数组,统计含-的命令数 for(int i=0;i<str.length-1;i++) { ma= p1.matcher(str[i]); if(str[i].startsWith("-")&&str[i].length()==2) { if(str[i].contains("-s"))//若带—s参数必带一个匹配的字符,此时需要加1 { count++; } if(str[i].contains("-e"))//若带-e参数必定带一个 停用表 ,此时需加1 { count++; } if(ma.find()) { count++; } } } if(count==(str.length-1)) { flag=false; //oper.setFile1(new File(str[str.length-1])); } else System.out.println("存在错误指令,请按要求输入"); } else //指定输出文件 { int count=0; for(int i=0;i<str.length-1;i++) { ma= p1.matcher(str[i]); if(str[i].startsWith("-")&&str[i].length()==2) { if(str[i].contains("-s")) { count++; } if(str[i].contains("-e")) { count++; } if(ma.find()) { count++; } } } if(count==(str.length-2)) { flag=false; //oper.setFile1(new File(str[str.length-3])); } else System.out.println("存在错误指令,请按要求输入"); } } else { System.out.println(err); } }