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