第一次编程作业
1、github
2、PSP表
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
· Estimate | · 估计这个任务需要多少时间 | 30 | 40 |
Development | 开发 | 180 | 240 |
· Analysis | · 需求分析 (包括学习新技术) | 30 | 60 |
· Design Spec | · 生成设计文档 | 10 | 15 |
· Design Review | · 设计复审 | 5 | 3 |
· Coding Stan | · 代码规范 (为目前的开发制定合适的规范) | 10 | 12 |
· Design | · 具体设计 | 20 | 15 |
· Coding | · 具体编码 | 90 | 150 |
· Code Review | · 代码复审 | 10 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 20 | 30 |
Reporting | 报告 | 30 | 40 |
· Test Report | · 测试报告 | 10 | 5 |
· Size Measurement | · 计算工作量 | 5 | 5 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 20 |
合计 | 490 | 705 |
3、计算模块接口的设计与实现过程。
基本思路
1.先用正则匹配出姓名和手机号
2.自己找到一堆省市镇街道地址名称,做成分级字典
3.同样用正则去字典里面匹配
更深入一点
我发现找个完整的数据集就找了半天没找到好用的.......所以我选择先做个API版的(没时间啦QAQ)然后就接了高德API.....
但是起初发现高德精度不够,只能匹配到第三级地址。后来看到了还有一个反向地理编码的东东,就是会通过经纬度信息返回一堆附近的信息,其中包含了乡镇街道,路名。所以通过第一次地理编码获取经纬度,然后通过反向地理编码得到需要的地址信息,但需要对这些信息在拿到字串中正则匹配一次,防止缺省,或出错的情况。
具体组织
会有一个提取姓名的函数,然后一个匹配手机号的函数,调用api函数,将剩下对信息拼接做一个函数。他们之间关系是将出入的字符串处理后将新的字串一路传下来,简称一带一路。
算法关键
貌似是对缺省条件处理,尽量满足题目需求。
4、计算模块接口部分的性能改进
使用pycharm自带的profile
除去input函数,耗时最大的是requests
5、计算模块部分单元测试展示。
2!王五,福建省福州市鼓楼18960221533区五一北路123号福州鼓楼医院.
2!李四,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
1!张三,福建福州闽13599622362侯县上街镇福州大学10#111.
3!小美,北京市东15822153326城区交道口东大街1号北京市东城区人民法院.
1!小陈,广东省东莞市凤岗13965231525镇凤平路13号.
1!韶划奸,上15717060981海普陀区长风新村街道光复西路1995号中山北路6-17号海鑫公寓.
2!楚涡握,湖北随州市随县吴山镇唐王街18883549874联宏村委会.
1!钭洋,福建省龙13135601243岩市新罗区岩山镇岩山供销社黄固村农资农家店.
6.计算模块部分异常处理说明
无法解决手机号缺省情况 例:1!张三,福建福州闽侯县上街镇福州大学10#111.
难度2的路可能会出现错误
例:2!楚涡握,湖北随州市随县吴山镇唐王街18883549874联宏村委会.