第一次个人编程作业
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了第一次个人编程作业,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3338字,纯文字阅读大概需要5分钟。
内容图文
GitHub链接
给出PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 30 |
· Estimate | · 估计这个任务需要多少时间 | 1830 | 2150 |
Development | 开发 | 180 | 300 |
· Analysis | · 需求分析 (包括学习新技术) | 240 | 300 |
· Design Spec | · 生成设计文档 | 60 | 60 |
· Design Review | · 设计复审 | 60 | 30 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
· Design | · 具体设计 | 60 | 90 |
· Coding | · 具体编码 | 720 | 780 |
· Code Review | · 代码复审 | 30 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 180 | 300 |
Reporting | 报告 | 60 | 60 |
· Test Repor | · 测试报告 | 60 | 60 |
· Size Measurement | · 计算工作量 | 60 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 60 |
· 合计 | 1830 | 2150 |
解题思路
解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的过程
因为题目要求恢复文件中的数据,而文件由于损坏,手机号码混在了地址数据中,所以我们要做的是:①将手机号码提取分割,这块主要的实现方法是用正则表达式将以一开头的11位数字分割出来,因为题目有要求手机号码一定不会和地址中的数字相邻,所以不用担心出现手机号码出现超出11位的情况;②分割出手机号码之后,再来分割姓名,以“,”为分隔符来进行分割;③剩下的就剩地址数据了,解析数据是整道题目的重难点,因为给出的地址并不统一,有的省份缺失,有的省份并没有给出省这个字,也有一些缺失市级啊什么的情况,因此不能通过查找某一个字来正确的解析出地址,比较好的方法是匹配一个地图,然而我并不懂得怎样去实现;④输出的文件格式要求有“""”将姓名,手机等信息框进去,而在代码的实现时,输出又不能两个双引号放在一起,所以就要找其他的方法。⑤整体思路还算清晰,但是具体的实现真的很难。
找资料:最开始用C++写的时候,参考的是C++程序设计(第三版)中第13章输入输出流里对数据文件的操作与文件流部分,之后改用java,是在慕课里找了一些基本的视频观看,然后针对一些特定的函数和术语在百度上进行搜索和参考。设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?单元测试是怎么设计的?
最初我选择的编程语言是C++,因为java和python我都不熟悉,但是用C++做了一点之后发现不太好做,然后听说java的正则表达式比较好实现,所以改用java,但因为才开始学,很多java的函数都不熟悉,也不会用,所以需要查找很多的资料,还要能理解资料上讲述的内容,这就是一个非常耗时的工作,再加上我转用java之后,距离作业提交的截止时间已经很近了,这次作业又需要安装许多的软件,使用很多以前没有使用过的工具,所有的一切都不熟悉,所以费神费力或许还不讨好,弄得人手忙脚乱的,最后也没能完成一个完整的代码。我本来想的会至少有三个类来编写这次程序,一个类从文件里读取数据并且输出到另一个文件夹,一个类提取姓名和电话,一个类解析地址,但这些对我来说太难了,到最后也没能够实现。
记录在改进程序性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2017的性能分析工具自动生成),并展示你程序中消耗最大的函数
- 代码说明。展示出项目关键代码,并解释思路与注释说明。
关键代码
String regex="(?
[^省]+自治区|.?省|.?行政区|.?市)(? [^市]+自治州|. ?地区|.?行政单位|.+盟|市辖区|.?市|.?县)(?[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)?(? )";[^区]+区|.+镇)?(? .
结合在构建之法中学习到的相关内容与个人项目的实践经历,撰写解决项目的心路历程与收获。
心路历程:刚开始想的太简单,以为很容易,但从安装软件开始,就遇到各种各样的问题,很多软件都是全英文的环境,所以理解就很费力。之后又在用代码具体实现的过程中接连遇挫,心真的好累。因为我自己代码没有打完,所以关于测试和性能分析方面就没有发言权。
收获:对java编程语言进行了初步的学习,熟悉了vs 和eclipse 的编程环境,学会了怎样把表格用Markdown打开。- 给自己的话
- 作业一定要尽早开始,给自己留充足的时间
- 学好一门编程语言很重要
- 要学会熟练运用工具
- 心好累
内容总结
以上是互联网集市为您收集整理的第一次个人编程作业全部内容,希望文章能够帮你解决第一次个人编程作业所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。