一、GitHub地址

github链接

二、psp表格

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

三、解题思路

   刚开始想用高德地图高德API获取行政区划数据后,通过逆地理编码API返回详细地理信息的方法划分,这样的优点是可以补齐没有的地址,缺点是有的时候,一级难度的地址没也写全,但不用补充的时候,它也补了。所以,后面修改为等级为1、2的全部用正则表达式处理,等级为3的,用高德地图处理,后面的街道、门牌号由于高德地图有可能定位错误,所以我又用了正则表达式。用了十四个函数,十二个是用来划分信息的,两个分别是输出五级地址和七级地址,每划分出一个信息,就从字符串中去掉,便于下一次划分地址和最后剩余地址的输出。

四、代码语言和关键代码

代码是用python写的。关键代码是取高德地图的库,和正则表达式选择道路和门牌号。


五、计算模块接口的设计与实现过程

六、计算模块接口部分的性能改进

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

输入:
2!李四,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
1!张三,福建福州闽13599622362侯县上街镇福州大学10#111.
2!王五,福建省福州市鼓楼18960221533区五一北路123号福州鼓楼医院.
输出:
{"姓名": "李四", "手机": "13756899511", "地址": ["福建省", "福州市", "鼓楼区", "鼓西街道", "湖滨路", "110号", "湖滨大厦一层"]}
{"姓名": "张三", "手机": "13599622362", "地址": ["福建省", "福州市", "闽侯县", "上街镇", "大学10#111"]}
{"姓名": "王五", "手机": "18960221533", "地址": ["福建省", "福州市", "鼓楼区", "", "五一北路", "123号", "福州鼓楼医院"]}

八、计算模块部分异常处理说明

捕捉输入输出异常。

九、心路历程

  从开始只用高德地图划分地址,发现测试代码的分数很低,到火速加正则表达式的方法划分,感觉这几天听到最多的就是敲键盘的声音。 我太菜了,不会python,边学边写,也是很艰苦,虽然时间比较紧,但是还是学到了很多东西,个人感觉这种在实战中学习的方法比看工具书更有效率。