第一次个人编程作业
一、Github
https://github.com/BloodyVampire/123456/tree/master/031702316
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 50 |
Estimate | 估计这个任务需要多少时间 | 0 | 0 |
Development | 开发 | 400 | 450 |
Analysis | 需求分析 (包括学习新技术) | 400 | 350 |
Design Spec | 生成设计文档 | 0 | 0 |
Design Review | 设计复审 | 0 | 0 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 10 | 15 |
Design | 具体设计 | 0 | 0 |
Coding | 具体编码 | 450 | 500 |
Code Review | 代码复审 | 30 | 35 |
Test | 测试(自我测试,修改代码,提交修改) | 250 | 300 |
Reporting | 报告 | 120 | 100 |
Test Repor | 测试报告 | 65 | 50 |
Size Measurement | 计算工作量 | 0 | 0 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 1785 | 1880 |
三、解题思路
1*首先在主函数内实现对文件的读操作和写操作,读取到的数据传递到头文件定义的的类中
2*在自己定义的头文件中进行地址的解析操作
3*实现过程中需要不断的从字符串中提取并删除字符以便进行筛选
4*将排好序的地址规格化输出
5*在进行地址匹配时我们要先将字符串中提取出的和自己预先写好的标准地址文档比较查询
查询的时候可以利用str.find()函数
四、具体设计
string cut_PhoneNumber(string s); // 提取电话号码
void cut_level(); // 提取地址的级数
void cut_name(); // 提取姓名
void cut_pro(); // 提取省
void cut_city(); // 提取市
void cut_county(); // 提取区/县/县级市
void cut_area(); // 提取街道/镇/乡
void cut_detail(); // 提取详细地址
void analyse(); // 解析地址
string toJson(); // 以json格式输出
五、计算机模块接口部分的性能改进
cpu使用情况
函数占用情况
代码覆盖率
六、单元测试
input:
1!鲁胞,上海长宁区周18951233466家桥街道长宁路999号春天花园.
1!臧街经,北京市东城区北新桥街道东直门内大街民15679601503安小区8号楼.
1!双韵,安徽黄山市歙县雄村镇006县道与G56杭瑞高速歙县雄村乡防保站13575634949.
1!苗朽蕾,13884441418湖北省孝感市云梦县方庙村村委会.
1!晏孔,重庆巫山13097181946县大昌镇洋溪村便民超市.
out:
[
{
"level": 1,
"姓名": "鲁胞",
"手机": "18951233466",
"地址": [
"上海",
"上海市",
"长宁区",
"周家桥街道",
"长宁路999号春天花园"
]
},
{
"level": 1,
"姓名": "臧街经",
"手机": "15679601503",
"地址": [
"北京",
"北京市",
"东城区",
"北新桥街道",
"东直门内大街民安小区8号楼"
]
},
{
"level": 1,
"姓名": "双韵",
"手机": "13575634949",
"地址": [
"安徽省",
"黄山市",
"歙县",
"雄村镇",
"006县道与G56杭瑞高速歙县雄村乡防保站"
]
},
{
"level": 1,
"姓名": "苗朽蕾",
"手机": "13884441418",
"地址": [
"湖北省",
"孝感市",
"云梦县",
"",
"方庙村村委会"
]
},
{
"level": 1,
"姓名": "晏孔",
"手机": "13097181946",
"地址": [
"重庆",
"重庆市",
"巫山县",
"大昌镇",
"洋溪村便民超市"
]
}
]
七、心得体会
主要是自己太菜了,再加上对c++语言和visual studio的了解不够深刻。
有些知识只是停留在了表面,真到用的时候却不知道如何使用。
还有就是在UTF-8和unicode互转时vs会报出异常需要反复的查询调试,真是太难了。
最后作为一名小白的我希望能和大家一起进步。