寒假作业(2/2)

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020SpringW
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020SpringW/homework/10222
这个作业的目标 <寒假作业(2/2)>

仓库
我的github仓库

PSP表

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10 10
Estimate 估计这个任务需要多少时间 10 0
Development 开发 660 870
Analysis 需求分析 (包括学习新技术) 100 120
Design Spec 生成设计文档 30 0
Design Review 设计复审 10 0
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 20
Design 具体设计 10 0
Coding 具体编码 300 700
Code Review 代码复审 100 10
Test 测试(自我测试,修改代码,提交修改) 100 20
Reporting 报告 120 40
Test Report 测试报告 40 20
Size Measurement 计算工作量 40 0
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 40 20
合计 890 920

解题思路

做这到题时,按题目的要求一个一个功能做。计划的少,打算遇到障碍就搜索相关资料,一开始还行,后来越来越多代码挤在主类里,不得不停下来整理思路在继续写。查找资料补了很多不会的东西。

关键代码

if (command.equals("list")) {
    for (int i = 1; i < args.length; i++) {
        switch (args[i]) {
            case "-log":
                logPath = args[++i];
                break;
            case "-out":
                outPath = args[++i];
                break;
            case "-date":
                endDate = args[++i];
                break;
            case "-type":
                while (i + 1 < args.length && !args[i + 1].startsWith("-")) {
                    types.add(args[++i]);
                }
                break;
            case "-province":
                while (i + 1 < args.length && !args[i + 1].startsWith("-")) {
                    provinces.add(args[++i]);
                }
                break;
            }
        }
    }
}

这个解析参数的功能看起来简单,花了我好长时间。思路是,对于一个参数值的参数,下一个必是参数值,否则,直到末尾或下一个以"-"开头的参数,或的左边与右边不能调换,不然会越界。即使写好了,还有不舒服的地方:由于不能确定有多少个参数,省份和人员种类就用HashSet保存了,还能去重,问题是在别的类里面引用时会变成空的,我也不知道为什么。我在解析完参数把HashSet转换成数组,感觉不太好。

测试

寒假作业(2/2)_第1张图片
单元测试没做

代码规范

codestyle.md

收获

解析参数,容器使用,字符串操作。还有就是对具体编码的时间估计太少,比估计的多了一倍还多。

仓库

算法
用python语言实现了绝大部分算法,主要是用于教学目的.
学习资料
面试
该仓库含一份关于如何准备编码面试的学习计划。该学习计划非常密集,包含大量主题,你可以根据自己的需要进行安排,能学到啥程度学到啥程度吧。
机器学习
[python][](https://github.com/vinta/awesome-python)

你可能感兴趣的:(寒假作业(2/2))