第一次个人编程作业

[Github](https://github.com/vjudge0913/031702617)

PSP表格。

PSP Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Plan 计划 30 30
Estimate 估计这个任务需要多少时间 5 5
Development 开发 300 60
Analysis 需求分析 (包括学习新技术) 60 10
Design Spec 生成设计文档 30 0
Design Review 设计复审 10 0
Coding Standard 代码规范 (为目前的开发制定合适的规范) 5 0
Design 具体设计 30 0
Coding 具体编码 240 60
Code Review 代码复审 60 30
Test 测试(自我测试,修改代码,提交修改) 120 30
Reporting 报告 60 120
Test Repor 测试报告 60 0
Size Measurement 计算工作量 30 5
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 10
合计 1100 360

计算模块接口的设计与实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?说明你的算法的关键(不必列出源代码),以及独到之处。

刚从温州参加比赛回来,挤不出时间完完整整写完软工作业了,一开始打算用c++整的,被中文编码打败,py和java不是很熟,想来想去自己写个网页吧,实现语言html+js,文件从本地导入,导入成功按F12可以直接查看json结果,点击导出也能下载json到本地

大概看完问题描述,比较关键的几个点应该就是读写文件和字符串处理:

  • 读写文件这个平时接触的多,不成问题
  • 姓名会比较简单,判断一下第一个出现的逗号,剪出字符子串就行了
  • 接下来的电话用的是正则匹配,再回去复习一波问题也不大
  • 剩下最后的地址分割,需要考虑的点有点多,时间问题只写了省市区(县)的

找资料的过程比较顺利,和平时遇到的问题相比这次编程作业比较常规,网上基本都有相应的解决思路,毕竟是面向百度编程。

函数如下图

计算模块接口部分的性能改进。记录在改进计算模块性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2017/JProfiler的性能分析工具自动生成),并展示你程序中消耗最大的函数。

性能上的优化暂无涉及,没有引入词典,查找耗时并不大,主要的耗时还在网页jquery的引入和页面渲染

计算模块部分单元测试展示。展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路。并将单元测试得到的测试覆盖率截图,发表在博客中。

自己选的js,单元测试的分数估计是没了

计算模块部分异常处理说明。在博客中详细介绍每种异常的设计目标。每种异常都要选择一个单元测试样例发布在博客中,并指明错误对应的场景。

目前还不支持缺省、市关键字的补全以及第四级之后信息的提取

心路历程

掌握多门语言很重要,下次一定好好学习,软工该头秃还是得秃的

原文地址:https://www.cnblogs.com/elis/p/11537178.html