生命中曾经拥有过的所有灿烂,原来终究,都需要用寂寞来偿还。

寒假作业(2/2)

这个作业属于哪个课程 <2020春W班>
这个作业要求在哪里 <作业要求的链接>
这个作业的目标 学会github的一些用法,总结和规范自己的代码规范
作业正文 ....
其他参考文献 ...

GitHub仓库链接

https://github.com/UserNamedQEE/InfectStatistic-main

PSP表格

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

解题思路

看到题目后先根据要求中给的链接看了一点关于github的教程,说实话还是挺懵的。试了一下和问了同学之后,成功把代码克隆到本地,然后开始分析需求写代码。
疫情统计

关键代码

代码片段1
代码片段2
这部分代码的主要目的是从命令行参数中提取出所需要的参数,以便后面使用。
代码片段3
这部分代码是通过比较文件名和给定的日期参数,筛选出后面需要读取的文件列表,并将其保存等待使用。
代码片段4
代码片段5
代码片段6
代码片段7
这部分代码是逐行读入文件,并通过判断得出所属的情况(其实思路分析里原本有关于不同情况的整理,忘了保存orz),将数据保存至对应的hashmap中,此处对于数据不作判断,即无论是否需要输出的数据,都会进行统计。
代码片段8
代码片段9
代码片段10
此在输出时需要进行判断,哪些是需要输出的,由于我的数据储存方式的原因,对于4种需要统计的人数用了4个hashmap,因此可以通过省份来进行简单的查找,而未指定省份的情况就变得较为困难,因此我在前面从日志提取文件时,将提取出的省份一并保存起来以供此处使用,这样可以简化逻辑,并且可以实现代码复用

性能测试

性能测试

代码规范

https://github.com/UserNamedQEE/InfectStatistic-main/blob/master/221701234/codestyle.md

心路历程和收获

在写代码的时候,因为题目要求的是命令行参数,一开始不太懂如何进行命令行参数的调试,因此先将代码在一个本地新建的文件中进行测试,测试无误后再添加至InfectStatistic中,按照原先的思路一个一个功能进行实现,因此输出是最后实现的,难以通过输出的文件进行判断,又不会调试命令行参数,带来了很多的麻烦。而且一个一个功能实现下来也会出现一些阻碍,尤其是在最后的输出功能实现阶段,由于前面对于输出部分的功能实现构思不够明确清晰,导致思路几经改变,牵一发而动全身,需要对前面的提取数据部分的代码再进行对应的修改。编码格式问题让我吃尽苦头,将近卡了3个小时的时间来寻找问题所在,一开始代码中关于读写程序功能部分使用的是FileReader以及FileWritter,它们无法指定读取文件时的编码格式,而控制台默认格式为GBK,在控制台执行对应程序时,会默认以GBK编码格式读取文件,这也导致了我在编译器进行调试和运行时得到的结果无误,但相同的命令到了控制台输出的结果就是错误的,最后发现问题改用高级IO流,在代码中指定输入输出格式为UTF-8解决了这个问题。

相关的仓库

项目 链接 描述
vue https://github.com/vuejs/vue vue框架的官方文档
axios https://github.com/axios/axios axios的官方文档,axios可以与vue结合使用开发轻量的WEB网络应用
个人博客 https://github.com/MQPearth/Blog 基于spring boot以及vue搭建的个人博客,可供上手的好项目
Ant Design Pro https://github.com/ant-design/ant-design-pro/ 阿里前端蚂蚁金服开发的开源项目,提供了很多现成的组件,方便使用
bootstrapVue https://github.com/bootstrap-vue/bootstrap-vue BootstrapVue具有40多个插件,80多个自定义组件和300多个图标,它为Vue.js提供了最全面的Bootstrap v4组件和网格系统实现之一。
posted @ 2020-02-18 20:09  张溴  阅读(99)  评论(2编辑  收藏  举报