第一次编程作业

1、github

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
第一次编程作业_第1张图片

除去input函数,耗时最大的是requests

5、计算模块部分单元测试展示。

2!王五,福建省福州市鼓楼18960221533区五一北路123号福州鼓楼医院.
{"姓名": "王五", "手机": "18960221533", "地址": ["福建省", "福州市", "鼓楼区", "", "五一北路", "123号", "福州鼓楼医院"]}

2!李四,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
{"姓名": "李四", "手机": "13756899511", "地址": ["福建省", "福州市", "鼓楼区", "鼓西街道", "湖滨路", "110号", "湖滨大厦一层"]}

1!张三,福建福州闽13599622362侯县上街镇福州大学10#111.
{"姓名": "张三", "手机": "13599622362", "地址": ["福建省", "福州市", "闽侯县", "上街镇", "福州大学10#111"]}

3!小美,北京市东15822153326城区交道口东大街1号北京市东城区人民法院.
{"姓名": "小美", "手机": "15822153326", "地址": ["北京市", "北京市", "东城区", "交道口街道", "交道口东大街", "1号", "北京市东城区人民法院"]}

1!小陈,广东省东莞市凤岗13965231525镇凤平路13号.
{"姓名": "小陈", "手机": "13965231525", "地址": ["广东省", "东莞市", [], "凤岗镇", "凤平路13号"]}

1!韶划奸,上15717060981海普陀区长风新村街道光复西路1995号中山北路6-17号海鑫公寓.
{"姓名": "韶划奸", "手机": "15717060981", "地址": ["上海市", "上海市", "普陀区", "长风新村街道", "光复西路1995号中山北路6-17号海鑫公寓"]}

2!楚涡握,湖北随州市随县吴山镇唐王街18883549874联宏村委会.
{"姓名": "楚涡握", "手机": "18883549874", "地址": ["湖北省", "随州市", "随县", "吴山镇", "光明街", "", "唐王街联宏村委会"]}

1!钭洋,福建省龙13135601243岩市新罗区岩山镇岩山供销社黄固村农资农家店.
{"姓名": "钭洋", "手机": "13135601243", "地址": ["福建省", "龙岩市", "新罗区", "岩山镇", "岩山供销社黄固村农资农家店"]}

6.计算模块部分异常处理说明

无法解决手机号缺省情况 例:1!张三,福建福州闽侯县上街镇福州大学10#111.

难度2的路可能会出现错误
例:2!楚涡握,湖北随州市随县吴山镇唐王街18883549874联宏村委会.
{"姓名": "楚涡握", "手机": "18883549874", "地址": ["湖北省", "随州市", "随县", "吴山镇", "光明街", "", "唐王街联宏村委会"]}

你可能感兴趣的:(第一次编程作业)