2020软工第一次实践代码作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2020
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2020/homework/11167
这个作业的目标 <学习如何解析json文件类型,并统计数据类型;熟悉使用GitHub操作>
学号 <181800415>

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

内心历程:
满脸问号???:一开始拿到题目,有点懵,多次看完题目描述后仍然不知所云(计算机编程菜鸡实锤了),看了几种要求的语言,又因为老师给了python范例,心里想着,好吧,也只有选择python了。虽然python之前有初步学习过,但是应对这种问题,完全属于一级打boss,真的后悔自己没有多学一点东西。
逐渐崩溃:这个题目对于python初学者来讲,too tough to solve! 我只能先认真阅读助教给的范例代码,慢慢理解。可是很多内容都需要上网查询,并且有的东西还搜索不到现成的(完蛋),就只能凭自己的小学生智商理解了。。。虽然告诉自己要有耐心看,但看着看着就不耐烦了(这种时候,内心就是在讲:啊这。。。 阿巴。阿巴。阿巴),所以在这种很自卑又很不耐烦的心态下,作业搁置了好几天,不愿面对。
稳住心态:作业临近deadline了,想着这个作业 即便再难也要做下去吧,而且肯定有人成功,倒不妨依葫芦画瓢呗。所以,我又拾起信心了(嘻嘻嘻,爷又可以了),看着群里大佬们的讨论,我更来劲了,想着找群内大佬们取经,是肯定有收获的。于是乎,我重新开始认真阅读范例。
找回自信:经过自己耐心的查询资料以及认真理解代码,能够完全理解代码的思路以及含义了。这个时候其实觉得是自己之前太怂了,这题并不难,只是自己代码打得少,所以才自我否认。但是,现在是有信心能够把问题完成了。这题不就是一些基础的调入数据 然后实现查询功能吗,实质上跟以前学的c++练习是一样的,不同点只是多了一个数据导入操作,这部分其实就只是利用python的调库操作罢了。
解题思路:
1.导入数据集、解析json文件
2.初始化
2.创造一个类,把所有需要查询的属性添加进去
3.写查询函数,将需要查询统计的类别写出来
4.调入参数,按照输入的格式,将需要输入的函数写进去

难点
如何使用python的语言规范格式,创造类
如何导入json格式、并书写
如何创造接口,对参数进行调用
如何写单元测试代码,对源代码进行debug
(所有的难题解决就一个办法:CSDN上号!!!)
代码说明:
第一次导入数据运行:

数据统计分析:

生成统计分类后的子文件:

导入需要的参数:

统计输出:

单元测试
上网查询,导入unittest库,写一段测试三种不同类别的代码:

运行后 测试结果为正确

但是耗时很长,这是因为测试代码包含了初始化导入数据
查看代码覆盖率:

由于代码写了初始化处理和后续处理的分支,所以在进行导入参数查询目标时,一部分函数并未调用到,故代码的覆盖率不高。

总结
这次作业的收获就是,如何使用python语言创造类,并对json文件进行导入处理。
并且知道了怎么去进行单元测试,debug多个小数据。这能提高自己的代码准确度,降低bug率。
了解了pycharm中coverage和profile的功能
github的常规操作通过助教的视频讲解,也已经领会到了,以后上传和下载代码会更加的方便。

posted @ 2020-09-16 21:18  muse-code  阅读(199)  评论(1编辑  收藏  举报