WordCount优化

项目地址:https://github.com/chaseMengdi/wcPro

基本任务:代码编写+单元测试

PSP表格

 

PSP2.1

 PSP阶段

 预估耗时(小时)

 实际耗时(小时)

 Planning

 计划

0.5 

0.5 

 Estimate

 估计任务需要多少时间

0.5 

0.5 

 Development

 开发

0.5

2

 Analysis

 需求分析

0.5 

0.5 

 Design Spec

 生成设计文档

0.5 

 Design Review

 设计复审

0.5

0.5

 Coding Standard

 代码规范

0.5 

0.5

 Design

 具体设计

 0.5

0.5

Coding

 具体编码

0.5

1

 Code Review

 代码复审

0.5

0.5

 Test

 测试

 1

1.5

 Reporting

 报告

 0.5

0.5 

 Test Report

 测试报告

1

0.5 

 Size Measurement

 计算工作量

 0.5

0.5 

 Postmortem

 总结

0.5 

0.5 

 

 合计

 8.5

10

 

接口实现

我主要负责main函数编写,判断并处理命令行参数。main函数参数中的args为字符串数组,将args数组中的参数取出判别,便可获得命令行输入参数以及指定的输入文件名和指定的输出文件名。代码如下

 

public static void main(String[] args) {
        if (args.length == 1) {
            if (args[0].endsWith(".txt")) {
                HashMap<String, Integer> map = wcPro.count(args[0]);
                String pri=wcPro.print(wcPro.sortList(map));
                System.out.println(pri);
            } else if (args[0].equals("-x")) {
                imgShow();
            } else{
                System.out.print("输入格式错误\n");
            }
        } else{
            System.out.print("参数数量错误\n");
        }
    }

 

 

 

 

测用例设计

最后一个测试用例需要选择正确的txt文件才能通过测试

Test Case ID测试用例编号

Test Item 测试项(即功能模块或函数)

Test Case Title 测试用例标题

Test Criticality重要级别

Pre-condition预置条件

Input 输入

Procedure 操作步骤

Output 预期结果

Result实际结果

Status是否通过

Remark 备注(在此描述使用的测试方法)

01

输入控制模块

参数为空

M

wcPro.exe

参数数量错误

参数数量错误

黑盒测试

02-04

输入控制模块

参数过多

M

wcPro.exe -a  test.txt

参数数量错误

参数数量错误

黑盒测试

05-09

输入控制模块

参数错误

M

wcPro.exe -a

参数数量错误

参数数量错误

黑盒测试

10-13

输入控制模块

文件类型错误

H

wcPro.exe test.c

输入格式错误

输入格式错误

黑盒测试

14-16

输入控制模块

文件未找到

H

wcPro.exe -x

输入格式错误

输入格式错误

黑盒测试

17-19

输入控制模块

文件名正常

L

wcPro.exe -x test.txt

pri

pri

黑盒测试

20

输入控制模块

参数正常(-x)

H

wcPro.exe test.txt

pri

pri

黑盒测试

 

单元测试运行结果

 

 

 

 

小组贡献:因为水平有限,我只负责main函数编写,做得并不多,在本项目中的小组贡献率为0.08

 

扩展任务

开发规范

阿里巴巴Java开发规范手册

 【强制】杜绝完全不规范的缩写,避免望文不知义。

 

代码分析

对刘博谦代码进行分析

public static String imgShow() {
        // 默认的打开路径为“我的文档”
        JFileChooser fileChooser = new JFileChooser(new File(
                System.getProperty("user.dir")));
        // 设置默认目录为得到工程的路径
        fileChooser.setDialogTitle("请选择文件");
        FileNameExtensionFilter nameFilter = new FileNameExtensionFilter(
                "文本文件(*.txt)", "txt");
        fileChooser.setFileFilter(nameFilter);
        int returnVal = fileChooser.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            String[] filePath = new String[1];
            filePath[0] = fileChooser.getSelectedFile().getPath();
            main(filePath);
            return "图形界面打开成功\n";
        } else {
            return "图形界面打开失败\n";
        }
    }
}

函数没有完全不规范的缩写,符合规范要求,无需改进。

 

参考资料

CSDN-Java中的main函数详细讲解

posted @ 2018-04-08 19:44  middamn  阅读(176)  评论(1编辑  收藏  举报