首页 > 技术文章 > 第一次个人编程作业

fzu-Z9h 2019-09-17 12:41 原文

Github


PSP表格

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

计算模块接口的设计与实现过程

  • 先通过正则表达式把名字和电话号码单独提取出
  • 之后通过几个函数一步一步拆分字符串中的省、市、区、街道

思路历程:

  • 咋一看好像也就这两步嘛很简单,但是懵逼的输入输出竟然是以文件(.txt)形式而且竟然还有“省”“市”缺失的情况。好吧,只能屈服于现实,一点一点去网上打开了无数的网页学习。

模块功能类实现

类名 实现功能
DataBase() 预处理本地比对json文件
Separation() 对字符串的名字,省市等分离
FileUitl() 处理文件的输入和输出

模块功能函数实现

函数名 实现功能
DataBase.readJsonData() 预处理本地比对json文件
FiletoString() 文件输入转字符串
StringtoFile() 字符串转文件输出
以及sepProvince()等字符串分离函数

函数间关系

  • <1>预处理本地json对比库DataBase.readJsonData(),这之中会调用文件输入函数FiletoString()保存在stringBuilder中等待调用对比
  • <2>FiletoString()读取输入文件
  • <3>调用Separation()对每一行输入字符串进行拆分
  • <4>拆分完后重新拼接成json样字符串再调用StringtoFile()输出为文件

计算模块接口部分的性能改进

  • 能码出来我觉得真的不错了。。。。 作为一个小白实在没啥精力也没啥能力去改进性能了

计算模块部分单元测试展示

  • 不知道为什么这么神奇,相同测试数据集下我自己跑txt文件格式都是正确,跑test却有7个点过不去
  • 测试覆盖率基本达到很高的比重,只有文件输入输出处理功能类FileUitl()覆盖率会低一点

计算模块部分异常处理说明

  • 我自己的编译器竟然字符串leve=“2”的情况下判断语句if(leve==“2”)的结果是false,然我一晚上都在怀疑其他代码的正确性。最后换了同学的电脑跑一下才发现我该换电脑了。

推荐阅读