一、my github
二、PSP表格
PSP2.1 | Personal Software Process stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 45 | 60 |
Estimate | 估计这个任务需要多少时间 | 45 | 60 |
Developments | 开发 | 900 | 1150 |
Analysis | 需求分析(包括学习新技术) | 200 | 250 |
Design Review | 设计复审 | 30 | 45 |
Coding Standard | 代码规范(为目前的开发制定或选择合适的规范) | 20 | 30 |
Design | 具体设计 | 200 | 250 |
Coding | 具体编码 | 550 | 500 |
Code Review | 代码审查 | 100 | 80 |
Test | 测试(自我测试、修改代码、提交修改) | 200 | 260 |
Reporting | 报告 | 100 | 80 |
Test Report | 测试报告 | 100 | 80 |
Size Mesurement | 计算工作量 | 30 | 30 |
Postmortem&Process Improvement Plan | 时候总结、并提出改进计划 | 20 | 40 |
合计 | 2395 | 2755 |
三、计算机模块接口的设计与实现过程
实现这个函数我用到了两个类,一个地址簿类,另一个为地址类,地址类包含在地址簿类中。其中地址簿类有三个成员函数分别用于解析,输出及设置难度。算法的关键在于根据关键字及已知的地址与给出的地址进行匹配。我认为代码的独到之处在于利用省市县地名长度均大于2的特性仅对前2个汉字进行匹配,能节省较多运行时间。
四、计算模块接口部分的性能改进。
可以看出分析函数占了最多运行时间;
五、代码测试
代码仅能测试输出1和2难度下的地址
六、异常
很容易发现地名表中有许多异常地名,这些地名通常要单独考虑。