1.github链接
2.时间记录
PSP2.1 | personal software process stages | 预计耗时(分钟) | 实际耗时(分钟) |
planing | 计划 | 60 | 100 |
estimate | 估计这个任务需要多少时间 | 30 | 30 |
development | 开发 | 600 | 800 |
analysis | 需求分析 | 100 | 200 |
design spec | 生成设计文档 | 30 | 50 |
design review | 设计复审 | 30 | 50 |
coding standard | 代码规范(为目前的开发制定合适的规范) | 30 | 10 |
design | 具体设计 | 60 | 120 |
coding | 具体编码 | 300 | 400 |
code review | 代码复审 | 100 | 150 |
test | 测试(自我测试,修改代码,提交修改) | 100 | 150 |
reporting | 报告 | 100 | 80 |
test report | 测试报告 | 100 | 120 |
size measurement | 计算工作量 | 30 | 20 |
postmortem&process improvement plan | 事后总结,并提出过程改进计划 | 30 | 40 |
合计 | 1150 | 1350 |
3计算模块接口的设计与实现过程。
我的代码没有考虑到“省”,“市”缺失的情况,所以就总体的思路就是:
- 通过寻找11位的数字来确定电话号码
通过寻找“,”,然后“,”之前的就是姓名
- 去除了姓名,逗号和电话号码之后剩下的一串地址
- 在剩下的一串地址中通过对“省市县”等关键词的匹配确定各级地址
将处理出来的姓名,电话号码和各级地址整合一下等待输出
我的代码就是按照这样的顺序处理的,好处就是在省市这样的关键词都完备的情况下可以很好的输出结果,坏处就是如果某个行政区划分没有带关键词就无法切分了
4计算模块接口部分的性能改进。
5计算模块部分单元测试展示。
输入
1!小茗,江西省上饶市明哲13965231525镇天枢路13号.
2!刘胜,河北省石家庄23467538212市北坡区绿山镇名山街46号.
3!庄瑞,海南23534823613省海口市玉台区天府路55号.输出
{"姓名": "小茗", "手机": "13965231525", "地址": ["江西省", "上饶市", "", "明哲镇", "天枢路", "13号", ""]}
{"姓名": "刘胜", "手机": "23467538212", "地址": ["河北省", "石家庄市", "北坡区", "绿山镇", "名山街", "46号", ""]}
{"姓名": "庄瑞", "手机": "23534823613", "地址": ["海南省", "海口市", "玉台区", "", "天府路", "55号", ""]}
6计算模块部分异常处理说明。
- 输入的省市关键词不全的情况不能识别缺失关键词的部分
输入:1!宁励,江苏南京23456345223市三阳区民主北路37号.
输出:{"姓名": "宁励", "手机": "23456345223", "地址": ["", "江苏南京市", "三阳区", "", "民主北路", "37号", ""]} - 输入的地址有重复的情况不能识别
输入:2!洋洋,湖北省武汉21345643421市水泽区武汉市水泽区民主北路45号.
输出:{"姓名": "洋洋", "手机": "21345643421", "地址": ["湖北省", "武汉市", "水泽区", "", "武汉市水泽区民主北路", "45号", ""]}