第一次个人编程作业

第一次个人编程作业


代码链接


PSP表-预估

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

设计与实现

流程图

性能改进

为了增加准确度 在第四级地址分词中使用了40000条左右的town数据进行匹配,缺点是降低了速度

单元测试

代码覆盖率报告:
Coverage report: 93%

Module statements missing excluded coverage
031702345.py 149 11 0 93%

PS:使用coverage统计代码覆盖率的步骤:
1.安装coverage包: pip install coverage
2.coverage run xxx.py
3.coverage html -d report
使用了大量的数据进行测试,数据量大仅展示部分:


我认为测试不能盲目提高代码覆盖率,而应该想办法设计更多的异常处理
因为按照输入格式要求,有一些输入不会出现在测试数据里,所以覆盖率较低

测试数据

1!马一江苏省泰州靖江市西来镇泥桥新村集13777775108居3区.
1!马二,北京18605763052市昌平区温泉花园A区9号楼.
1!马三,天津市西青区津涞公路与外环线12号桥交口金旺佳园13296124702.
1!马四,江苏省徐州市徐州经济技术开发区徐庄镇经济技13903126556术开发区吴集村邮局西隔壁华德堡.
1!马五,山西省临汾市侯马市新田乡地勘东巷宋郭村15717141000二区宋郭村村委会.

2!象一,北京市东城区安定门街道琉璃寺13997517355胡同8号宝钞南社区服务站.
2!象二,四川省成都邛崃市火井镇状元路185号高场社区居委15182872302会.
2!象三,天津河东区唐家口街道成林道63号天津工业大学15755715952.
2!象四,青海海西蒙古族藏族自治州乌18958237812兰县茶卡镇交通街6-2号扎布寺村村委会.
2!象五,上海长宁区仙霞新村街道虹古路261号虹古小区4号楼13345422905.

3!炮一,咸宁市陆水15728814476湖街道桂花树路2号泉门社区卫生站.
3!炮二,广东省珠海市斗门区同心路143号白蕉派出18794091546所.
3!炮三,河北省衡水市13287435790桃城区永兴西路122号赵家庄居民1区.
3!炮四,福建莆田市仙游县仙东13327922135村仙东小学.
3!炮五,固原市泾源县兴盛乡13043995904园兴路下金村卫生室.

附加测试

cpca测试可能有问题的输入数据如下:

1!米舍凛,18924734838吉林白山市浑江区三道沟镇085县道三道沟卫生院.

1!刘湖,吉林白山市浑18694520738江区六道江镇西村药店.

开源代码质量测试


异常处理

1.处理了空手机号、空姓名的异常

2.处理了输入的EOFERROR异常

3.处理了无难度情况的异常

PSP表-实际

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

总结

发布作业、改评测程序bug和回答问题忙到窒息,自己的程序都没怎么好好写,我想用大佬给的7级数据库肯定能评测取得更高的准确度。尤其是改评测程序bug遇到SB的微软控制台编解码问题差点被玩坏了,一度以为是打包程序有问题,chcp指令是假的,JB的控制台很nb默认UTF8没问题是真的nb。cpca虽然准确度不是特别高还是可以凑合用用,不过每级的地址匹配起来奇葩情况也真的多,不懂不用字典或者数据库的怎么搞高划分准确度,jieba这个分词也是很奇妙,总有奇奇妙妙的情况。

原文地址:https://www.cnblogs.com/passguan/p/11588648.html