bug找到吐的赶脚
bug找到吐的赶脚,真**刺激
一、单元测试
- 设计思路
- 首先是需要写一个无括号四则运算函数
- 下面的运算先是运算括号内的数

然后将null后置

全部代码测试,覆盖率92.4%

二、结构优化
uml图

流程图

因为以前用unity c#打过不少小游戏,所以有较良好的模块化打代码的习惯,所以重构部分主要是将3个年纪的函数和为一个函数,并将存入str二维数组函数单独取出,并将上次赶工的output函数合为一个,主体无括号四则运算函数之前就是模块化的,这次因为为了方便上面三个年级函数合一,增加了一个输入int值,grade,方便判断年纪来判断答案是否符合标准。去除括号函数没有进行模块化的原因是,经过多次尝试报错过多,时间不够没有进行模块化。
- 模块主要为四则运算模块,存入str模块,输出模块,判断年纪模块
- 四则运算模块,由乘除运算 加减运算函数 去除null函数组成, 存入str模块是将每次随机的符合,数据,答案存入str二维数组中,输出模块,就是将str里面的数据输出到文件里
判断年纪模块,根据年纪,判断运算符随机的种类,数量,再根据年纪与运算符判断数据的范围,然后都是存入两个字符串组里面,然后根据年纪与符合数量判断是否有括号,然后再根据上面的设计思路进行下面的运算
三、性能调优
优化前效能分析

测试用的print太多没有去掉,另外答案判断问题导致循环次数太多
去掉多余的代码,增加更多的答案判断代码,让每一次输出答案,都进行一次判断,尽早处理掉废物数据
优化后效能分析

bug找到吐的赶脚的更多相关文章
- 百度地图sdk sha1秘钥获取有种想吐的赶脚
撸代码坐的腰算背疼还只是弄一个不是项目里边需要的升级版本的so 日 需要sha1 指纹秘钥,还有项目包, 才能用百度地图sdk 这个找sha1 获取废了20分钟, 显示全盘找keytool.exe ...
- Android studio 一个项目中添加两个module遇到的bug
1.在一个Android studio中,我添加了一个模块,然后就是各种bug 找到到R 是在module 名上面 右键 Make Module '模块名' 经过各种google 的时候发现了 htt ...
- PDF怎么去除页眉页脚,PDF页眉页脚编辑方法
我们在使用文件的时候需要编辑页眉页脚的时候,这个时候我们应该怎么做呢,相信别的文件大家都知道怎么编辑了,PDF文件大家都知道吗,最开始接触这个文件的时候小编觉得很难,之后找到技巧之后也并没有很难,今天 ...
- 为什么我没有拔出钥匙 ——开锁引发的程序bug解决方案的思考
http://blog.csdn.net/wojiushiwo987/article/details/8851204为什么我没有拔出钥匙 ——开 ...
- python3 FastDFS 配置文件 客户端连接 删除文件 bug
文件传输使用FastDFS 很方便, 不管是大小文件, 用默认的配置就可以, 这里插入一个配置文件 : (后补python连接FastDFS上传下载文件) # connect timeout in ...
- PHPExcel中文开发手册翻译版(2)
2016年8月18日12:45:14 请注意这个是粗翻译版,仅供参考,不是精校版 精校版后面才会更新 PHPExcel开发者文档 1.目录 2. 4先决条件 2.1.软件要求4 2.2.安装说明4 2 ...
- [异常] JLink Error: Could not find supported CPU core on JTAG chain J-Link连接不到stm32内核问题
>_<" 昨天晚上还好好的,今天早上调试的时候就不行了,下载程序的时候总是报J-Link连接不上,而且stm32似乎也死机了,led灯不闪烁,TFT屏也无显示. >_< ...
- Fluid Shopping Website 开发阶段性总结——第一周
开发目的: 可链接微信公众号,无论是桌面端.移动端完美兼容,给用户提供不逊于原生App的用户体验.作为一个软件,有充分的可扩展性,便于未来增强开发.同时给一些正在尝试做OTO的朋友们提供一个平台,因为 ...
- viewPager使用时加载数据时显示IllegalStateException异常,解决不了。。。。
从newsPager中得到newsDetailTitles标题的详细内容,这是通过构造器传过来的.打印日志78行能打印,45行打印出来共size是12.但是程序出现了异常java.lang.Illeg ...
随机推荐
- 20155318 《网络攻防》Exp6 信息搜集与漏洞扫描
20155318 <网络攻防>Exp6 信息搜集与漏洞扫描 基础问题 哪些组织负责DNS,IP的管理. 互联网名称与数字地址分配机构,ICANN机构.其下有三个支持机构,其中地址支持组织( ...
- ex6教程
一.信息搜集 1.外围信息搜集 外围信息搜集又叫公开渠道信息搜集. 搜索引擎,公共信息库,目标门户网站等等都是很好的入手点. metasploit有一类"辅助模块",可以帮助你进行 ...
- JavaEE笔记(十四)
#SSH配置文件整合笔记实例 spring-BaseBean.xml <?xml version="1.0" encoding="UTF-8"?> ...
- PowerBI开发 第一篇:设计PowerBI报表
PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据.PowerBI主要由两部分组成:Power ...
- git 报错git-upload-pack 解决方法
报错如下: bash: git-upload-pack: command not foundfatal: The remote end hung up unexpectedly 原因:原来代码服务器上 ...
- Ubuntu Google Chrome
Chrome安装 添加下载源 sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.l ...
- OpenGL学习(3)——Shader
之前已经接触过Vertex Shader和Fragment Shader,这次学习如何编写Shader并封装成类. Shader源码主要有四部分: 版本声明 #version xxx core: 使用 ...
- 关于UGUI不拦截射线的方法
起因:开发游戏,要在设置界面里给一个设置项添加一个东西解释这个项是干啥的,要求鼠标移到文字上的时候显示一个弹窗差不多的东西,见动图,鼠标移开会消失.但是当我移动鼠标到弹窗上的时候,UGUI会发射一根射 ...
- 关于python内存地址问题
遇到一个朋友,给我提了一个问题:python中的两个相同的值,内存地址是否一样? 当时印象里有这样一句话:Python采用基于值的内存管理模式,相同的值在内存中只有一份 于是张嘴就说是一样的 朋友说不 ...
- Web项目开发流程 PC端
一.了解.明确需求. 这个应该是第一步了,不了解需求你就不知道为什么要做,要怎么去做这个项目的工作. (1)明确需求是相当重要的,很有必要去和产品经理.设计人员去沟通,需要明白每一个按钮,每一个开 ...