第一次个人编程作业

我的github

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 15 25
Estimate 估计这个任务需要多少时间 1730 2085
Development 开发 140 200
Analysis 需求分析 (包括学习新技术) 160 200
Design Spec 生成设计文档 30 30
Design Review 设计复审 25 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 60
Design 具体设计 20 40
Coding 具体编码 800 850
Code Review 代码复审 60 60
Test 测试(自我测试,修改代码,提交修改) 60 70
Reporting 报告 180 230
Test Repor 测试报告 60 60
Size Measurement 计算工作量 30 30
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 120 200
合计 1730 2085

心路历程

说实话刚进入这次作业的时候,我还没看到这次编程内容,就被各种要求吓住了,作业要求各种性能分析啥呀,单元测试啥的我真的之前没见过。还要用github啥的,而且看到还要用c++,java或者python3编程的时候,我顿时觉得鱼生无望。开始悔不当初,为什么前两年不好好学习,现在自己c++不6,java不会,python只会一点点,我拿什么去编程!!!但是不管怎么说,就算自己在菜,分数还是要拿的,作业还是要做的,大不了爆肝学习。接着,我就看到了本次编程的题目。大概的内容就是切割字符串,将它们排好。一开始我想用c++的,毕竟三种语言中,我最眼熟它。但是听从了别的同学的建议,用python3相对好做些,积极听取良言,内心os:反正我都不会,都要开天辟地,择取佳径。
其中我用到的函数有:re.findall,splist

python解题思路

(1)利用分片函数将名字和地址分成两个字符串
(2)利用正则化将一次将各级地址提取出来,遇到一些不规则的地址,通过查表提取
(3)以json的形式输出

查找资料

(1)python3的基本使用,尤其是正则化的用法
(2)如何暴力打多级表

实现过程

一开始我没有想到用正则化的方法解决这个问题的,我是想用关键词,比如省和市这样子来对字符串进行分割的,但是实现的过程是在有点复杂,你要考虑字符串指针的移动,写了几行代码我就进入了死胡同,脑袋当机了。这个时候我发现了正则化方法,看了简介我发现它真的十分适合我现在的需求。于是,我就去网络上找了正则化的教程,反正就是来来去去看了十几个相关博客,我开始自己慢慢尝试。先是提取名字,接着是提取号码,这两个还是比较幸运的,几次就成功了。接下来就是提取地址了,还是要根据关键词,事实证明网络上的一些教程并不是适合所有操作系统,走了很多弯路,我终于可以正确提取地址了。但是高兴之余,我发现了一个重要的问题,一开始我是利用关键词对地址进行提取,那如果没有关键词呢?于是乎,我就想到了一个比较老实的想法,暴力打表,然后在查询。
其中包含的函数有:re.findall、replace、append、split、json.dumps。

独到之处及关键之处

打表查询这个很关键,解决了很多问题。配合上正则化的方法节省了一些时间。

单元测试

2!李四,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
'地址': ['福建省', '福州市', '鼓楼区', '鼓西街道', '湖滨路', '110号', '湖滨大厦一层']
1!小王,福建省福州13756899511市鼓楼区鼓西街道湖滨路110号湖滨大厦一层.
'姓名':'小王'
2!王五,福建省福州市鼓楼18960221533区五一北路123号福州鼓楼医院.
'姓名':'王五'
1!小陈,广东省东莞市凤岗13965231525镇凤平路13号.
'手机': '13965231525'
目前只能做到1!和2!难度,3!要是有时间我愿意去尝试,但是感觉好难啊!

性能测试

卑微卓卓在线枯萎,我是在没有精力去改进性能了,真的是学到脑袋秃了,之前尝试了,感觉性能没有优化多少,放弃!

异常分析


提示变量类型错误,原因是因为我定义二级搜索表时,少写了一个参数,导致无法匹配

心路历程和收获

虽然这次编程过程可以说是从零开始,开天辟地,熬夜,不仅身累,心里更累。做这个作业的时候,我都开始怀疑自己是不是不适合学习计算机,但是我转念想了想,没有什么适不适合,只有你愿不愿意。这次作业我还是收获了很多的,我看到了自身的一定潜力。我第一次这么用心做一次作业,虽然我觉得很累,但是当看到代码结果出来的那一个,更多的是喜悦。时间太短,我只能尽力去做一些东西。虽然结果可能不是太好,但是我还是很满足。还有啊,我从这次作业中发现到了python的有趣和强大,我觉得我可以往python这条路走下去。另外百度真的是个好东西,零基础,一夜从无到有是我从使用百度后得到的感受。既然都接触了c++和python,我觉得我也很有必要去接触一下java,据说它是一种比较难学的语言,但是经历了这次,我将无所畏惧哈哈哈。我觉得平时还是要多利用课余时间学习的,一边用一边百度,虽然很方便,但是总觉得自己不太专业。最后,我从这次作业中,还收获到了一句口头禅:我感觉自己要枯萎了。

原文地址:https://www.cnblogs.com/zhuozhuohaha/p/11536501.html