这个作业属于哪个课程 | |
---|---|
这个作业要求在哪里 | |
这个作业的目标 | |
作业正文 | |
其他参考文献 |
1.GitHub仓库地址
2.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 40 | 40 |
Estimate | 估计这个任务需要多少时间 | 30 | 30 |
Development | 开发 | 2000 | 2400 |
Analysis | 需求分析 (包括学习新技术) | 200 | 300 |
Design Spec | 生成设计文档 | 60 | 80 |
Design Review | 设计复审 | 30 | 45 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 60 | 45 |
Design | 具体设计 | 240 | 200 |
Coding | 具体编码 | 600 | 600 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 90 | 100 |
Reporting | 报告 | 45 | 60 |
Test Report | 测试报告 | 45 | 60 |
Size Measurement | 计算工作量 | 30 | 30 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 45 | 45 |
合计 | 3575 | 4095 |
3.解题思路描述
看完需求之后,我想到要用提取命令行的args来解析出各个参数,然后根据log参数和date参数来读取相应txt文件的内容,type参数确定输出的语句,province参数选择需要输出的省份,最后输出到out参数指定的位置。其中读取txt文件内容还需要用正则表达式来匹配和提取“省份”和“感染患者”、“疑似患者”、“治愈”、“死亡”的人数,将其存放到一个内部类里,方便后续的输出。
至于查找资料的部分,因为对HashMap使用的不熟练,我还去找寻HashMap的原理和使用方法的资料,以及同学发的这次作业相关的博文,还有一些细节上的思路问题没法查找的,就去问同学。在这里也非常感谢帮助我的几位同学。
4.设计实现过程
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200212110009%E6%A8%A1%E5%9D%97%E7%BB%93%E6%9E%84%E5%9B%BE.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200212115636%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg)
5.代码说明
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213095653%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE1.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213095823%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE2.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104226%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE3.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104235%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE4.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104242%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE5.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104249%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE6.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104255%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE7.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200213104302%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE8.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200214131139%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E6%88%AA%E5%9B%BE1.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200214131147%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E6%88%AA%E5%9B%BE2.png)
![](https://images.cnblogs.com/cnblogs_com/hxd1017/1646187/o_200214131153%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E6%88%AA%E5%9B%BE3.png)
7.单元测试覆盖率优化和性能测试
单元测试覆盖率:
由于测试的都是正确数据,所以没有覆盖到报错的代码部分。
暂未优化......
性能测试:
8.代码规范
代码规范的GitHub地址
点击进入
9.心路历程和收获
这次作业让我有了查缺补漏的机会,以前没好好学的内容,现在都需要补上,所以花费时间有些长,特别是正则表达式和哈希表,相当于重新学习了一遍。这次作业也顺便完成了学习计划中的Git的使用,还有其他的,如PSP表格,单元测试等对我来说的新概念的学习。因为基础较差,所以这次实践对我来说有一定难度,这也证明了学到的东西也非常多。读万卷书行万里路,在学习中实践,在实践中学习,让我对理论以及应用有了更深的理解(虽然理解还是不深刻)。
总的来说,这是一次痛并快乐着的学习过程。
10.技术路线图相关的5个仓库
-
SpringAll
- 链接: https://github.com/wuyouzhuguli/SpringAll
- 简介: 循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码。
-
spring-boot
- 链接: https://github.com/spring-projects/spring-boot
- 简介: 虽然Spring的组件代码是轻量级的,但它的配置却是重量级的(需要大量XML配置),不过Spring Boot 让这一切成为了过去。
-
spring-boot-api-project-seed
- 链接: https://github.com/lihengming/spring-boot-api-project-seed
- 简介: Spring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定、简单、快速。
-
vjtools
- 链接: https://github.com/vipshop/vjtools
- 简介: 唯品会Java开发手册,结合唯品会的内部经验,参考《阿里巴巴Java开发手册》《Clean Code》、《Effective Java》等重磅资料进行了大幅定制,包含核心基础类库VJKit ,问题排查工具VJMap 和 VJTop 三部分。
-
Java
- 链接: https://github.com/TheAlgorithms/Java
- 简介: 该项目用Java实现的所有算法。