第一次个人编程作业
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 10 | 10 |
-Estimate | -估计这个任务需要多少时间 | 1200 | |
Development | 开发 | 1070 | 1320 |
-Analysis | -需求分析 (包括学习新技术) | 360 | 480 |
-Design Spec | -生成设计文档 | 30 | 30 |
-Design Review | -设计复审 | 10 | 20 |
-Coding Standard | -代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
-Design | -具体设计 | 180 | 240 |
-Coding | -具体编码 | 300 | 420 |
-Code Review | -代码复审 | 60 | 60 |
-Test | -测试(自我测试,修改代码,提交修改) | 120 | 60 |
Reporting | 报告 | 60 | 80 |
-Test Report | -测试报告 | 30 | 40 |
-Size Measurement | -计算工作量 | 10 | 10 |
-Postmortem & Process Improvement Plan | -事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1200 | 1400 |
模块接口的设计与实现
看到题目的思路是先分离电话号码与名字,再进行地址的分离。因此需要设计分离电话号码、名字、地址的函数。分离电话号码用正则去比对分离,分离名字则用分隔符去判断,并且分离后把已分离的剩余部分保存下来。分离地址则比较复杂,首先省市可能省略,因此先做了个全国省市的字典,对数据中前两字进行比对,如果找到再对应进行分隔,这是对省市的处理方法,区县与街道对我来说有些复杂,因此只进行了查找字的简单方法进行分离,如果没有找到就对应空字符。