第一次个人编程作业
1.链接
https://github.com/wzy19981130/031702343.git
2.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 30 | 60 |
· Estimate | · 估计这个任务需要多少时间 | 30 | 40 |
·Development | 开发 | 600 | 600 |
· Analysis | · 需求分析 (包括学习新技术) | 300 | 600 |
· Design Spec | · 生成设计文档 | 40 | 60 |
· Design Review | · 设计复审 | 30 | 40 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 60 | 120 |
· Design | · 具体设计 | 60 | 120 |
· Coding | · 具体编码 | 200 | 400 |
· Code Review | · 代码复审 | 30 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 200 | 150 |
·Reporting | 报告 | 20 | 10 |
· Test Repor | · 测试报告 | 30 | 60 |
· Size Measurement | · 计算工作量 | 20 | 20 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 40 |
· 合计 | 1710 | 2350 |
3.计算模块接口的设计与实现过程
设计思路
主要采用python的正则表达式来完成目标。首先,名字后面必有一个',' ,所以可以根据这个分离开,其次电话号码有11位,也比较容易分离。之后就凭借正则表达式对于各级的地址关键字进行分离。在分完前四级之后,对于难度的不同有不同的分支,对于难度1,剩下的就是五级地址;对于难度2,就继续分级。最后转换为json格式输出。
类和函数
split用的最多,列表与字符串相互转换也用的较多
4.计算模块接口部分的性能改进。
对于性能的改进其实并没有进行,因为在做这个之前已经改了许多次了,由于能力有限,无法再做改进了。
消耗最大函数是input。。
5.计算模块部分单元测试展示
1!郏稀,重庆丰13215590422都县三建乡石龙门村卫生室.
{"姓名": "郏稀", "手机": "13215590422", "地址": ["重庆", "重庆市", "丰都县", "三建乡", "石龙门村卫生室"]}
1!印模,云南省红河哈尼族彝族自治州蒙自市明白村明白小15153379393学.
{"姓名": "印模", "手机": "15153379393", "地址": ["云南省", "红河哈尼族彝族自治州", "蒙自市", "", "红河哈尼族彝族自治州蒙自市明白村明白小学"]}
1!殴删谭,河北承德承15076364360德县岗子满族乡253省道齐家营中心幼儿园.
{"姓名": "殴删谭", "手机": "15076364360", "地址": ["河北省", "承德市", "承德县", "岗子满族乡", "253省道齐家营中心幼儿园"]}
1!权暖,13252438214海南省三亚崖城镇111乡道抱古村农场.
{"姓名": "权暖", "手机": "13252438214", "地址": ["海南省", "三亚市", "", "崖城镇", "111乡道抱古村农场"]}
1!濮阳逛,河南省南15694715825阳市方城县清河镇010乡道尚营村委会.
{"姓名": "濮阳逛", "手机": "15694715825", "地址": ["河南省", "南阳市", "方城县", "清河镇", "010乡道尚营村委会"]}
1!桓猿攀,辽宁省营口13898044414市盖州市西海街道305国道盖州市西海农场.
{"姓名": "桓猿攀", "手机": "13898044414", "地址": ["辽宁省", "营口市", "盖州市", "西海街道", "305国道盖州市西海农场"]}
1!弓器,河北省衡水市景县刘集乡马道仁村14785155220村委会.
{"姓名": "弓器", "手机": "14785155220", "地址": ["河北省", "衡水市", "景县", "刘集乡", "马道仁村村委会"]}
2!濮婚时,广西壮13602947448族自治区桂林七星区七星区街道育才路15号北院广西师大育才校区.
{"姓名": "濮婚时", "手机": "13602947448", "地址": ["广西壮族自治区", "桂林市", "七星区", "七星区街道", "育才路", "15号", "北院广西师大育才校区"]}
2!夹谷抡枯,18795320124甘肃省兰州城关区皋兰路街道皋兰路210号郑家台小区.
{"姓名": "夹谷抡枯", "手机": "18795320124", "地址": ["甘肃省", "兰州市", "城关区", "皋兰路街道", "皋兰路", "210号", "郑家台小区"]}
2!羊舌线,福建省福州鼓楼区鼓东街13827706785道庆城路庆城社区.
{"姓名": "羊舌线", "手机": "13827706785", "地址": ["福建省", "福州市", "鼓楼区", "鼓东街道", "庆城路", "", "庆城社区"]}
2!柏雅蚜,上海市长宁区周家桥街道武夷路718号武夷花园722号13757741271楼.
代码覆盖率
6.计算模块部分异常处理说明
2!柏雅蚜,上海市长宁区周家桥街道武夷路武夷花园722号13757741271楼
{"姓名": "柏雅蚜", "手机": "13757741271", "地址": ["上海", "上海市", "长宁区", "周家桥街道", "武夷路", "武夷花园722号", "楼"]}
在前一级地址缺失的情况下,后一级的地址出现了关键字,会出现错误。