bug找到吐的赶脚,真**刺激

一、单元测试

  • 设计思路
  • 首先是需要写一个无括号四则运算函数
  • 下面的运算先是运算括号内的数
  • 然后将null后置

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

二、结构优化

  • uml图

  • 流程图

  • 因为以前用unity c#打过不少小游戏,所以有较良好的模块化打代码的习惯,所以重构部分主要是将3个年纪的函数和为一个函数,并将存入str二维数组函数单独取出,并将上次赶工的output函数合为一个,主体无括号四则运算函数之前就是模块化的,这次因为为了方便上面三个年级函数合一,增加了一个输入int值,grade,方便判断年纪来判断答案是否符合标准。去除括号函数没有进行模块化的原因是,经过多次尝试报错过多,时间不够没有进行模块化。

  • 模块主要为四则运算模块,存入str模块,输出模块,判断年纪模块
  • 四则运算模块,由乘除运算 加减运算函数 去除null函数组成, 存入str模块是将每次随机的符合,数据,答案存入str二维数组中,输出模块,就是将str里面的数据输出到文件里
  • 判断年纪模块,根据年纪,判断运算符随机的种类,数量,再根据年纪与运算符判断数据的范围,然后都是存入两个字符串组里面,然后根据年纪与符合数量判断是否有括号,然后再根据上面的设计思路进行下面的运算

三、性能调优

  • 优化前效能分析

  • 测试用的print太多没有去掉,另外答案判断问题导致循环次数太多

  • 去掉多余的代码,增加更多的答案判断代码,让每一次输出答案,都进行一次判断,尽早处理掉废物数据

  • 优化后效能分析

bug找到吐的赶脚的更多相关文章

  1. 百度地图sdk sha1秘钥获取有种想吐的赶脚

    撸代码坐的腰算背疼还只是弄一个不是项目里边需要的升级版本的so 日 需要sha1 指纹秘钥,还有项目包, 才能用百度地图sdk 这个找sha1  获取废了20分钟, 显示全盘找keytool.exe ...

  2. Android studio 一个项目中添加两个module遇到的bug

    1.在一个Android studio中,我添加了一个模块,然后就是各种bug 找到到R 是在module 名上面 右键 Make Module '模块名' 经过各种google 的时候发现了 htt ...

  3. PDF怎么去除页眉页脚,PDF页眉页脚编辑方法

    我们在使用文件的时候需要编辑页眉页脚的时候,这个时候我们应该怎么做呢,相信别的文件大家都知道怎么编辑了,PDF文件大家都知道吗,最开始接触这个文件的时候小编觉得很难,之后找到技巧之后也并没有很难,今天 ...

  4. 为什么我没有拔出钥匙 ——开锁引发的程序bug解决方案的思考

    http://blog.csdn.net/wojiushiwo987/article/details/8851204为什么我没有拔出钥匙                             ——开 ...

  5. python3 FastDFS 配置文件 客户端连接 删除文件 bug

    文件传输使用FastDFS 很方便, 不管是大小文件, 用默认的配置就可以, 这里插入一个配置文件 :  (后补python连接FastDFS上传下载文件) # connect timeout in ...

  6. PHPExcel中文开发手册翻译版(2)

    2016年8月18日12:45:14 请注意这个是粗翻译版,仅供参考,不是精校版 精校版后面才会更新 PHPExcel开发者文档 1.目录 2. 4先决条件 2.1.软件要求4 2.2.安装说明4 2 ...

  7. [异常] JLink Error: Could not find supported CPU core on JTAG chain J-Link连接不到stm32内核问题

    >_<" 昨天晚上还好好的,今天早上调试的时候就不行了,下载程序的时候总是报J-Link连接不上,而且stm32似乎也死机了,led灯不闪烁,TFT屏也无显示. >_< ...

  8. Fluid Shopping Website 开发阶段性总结——第一周

    开发目的: 可链接微信公众号,无论是桌面端.移动端完美兼容,给用户提供不逊于原生App的用户体验.作为一个软件,有充分的可扩展性,便于未来增强开发.同时给一些正在尝试做OTO的朋友们提供一个平台,因为 ...

  9. viewPager使用时加载数据时显示IllegalStateException异常,解决不了。。。。

    从newsPager中得到newsDetailTitles标题的详细内容,这是通过构造器传过来的.打印日志78行能打印,45行打印出来共size是12.但是程序出现了异常java.lang.Illeg ...

随机推荐

  1. Centos7 定时任务启动python脚本发送邮件

    直接上python脚本: 2.我是把这个脚本放在home文件夹下面 3.在centos命令模式下: crontab -e   命令编辑启动脚本: 4.第一个命令意思是:每天9点到下午5点,每隔一个小时 ...

  2. java 锁白话

    一.锁 1.可见性: 定义:数据对所有线程可见 原因:cpu操作数据时会把数据读取到内存中去,可以理解为值做了备份,但是备份数据和原始数据在后续操作中不一定一致 实现:java使用volite关键字来 ...

  3. mfc CAnimateCtrl

    知识点: CAnimateCtrl成员函数 播放avi动画 一. CAnimateCtrl成员函数 Autoplay; CAnimateCtrl ::成员函数 Open 打开avi视频 Play 播放 ...

  4. python 回溯法 子集树模板 系列 —— 18、马踏棋盘

    问题 将马放到国际象棋的8*8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方格,要求每个方格进入且只进入一次,找出一种可行的方案. 分析 说明:这个图是5*5的棋盘. 图片来 ...

  5. idea 项目java版本选项位置

    藏这里了 还有一个

  6. 同步、异步、回调执行顺序之经典闭包setTimeout分析

    聊聊同步.异步和回调 同步,异步,回调,我们傻傻分不清楚, 有一天,你找到公司刚来的程序员小T,跟他说:“我们要加个需求,你放下手里的事情优先支持,我会一直等你做完再离开”.小T微笑着答应了,眼角却滑 ...

  7. 设计模式 笔记 模版方法模式 Template Method

    //---------------------------15/04/28---------------------------- //TemplateMethod 模版方法模式----类行为型模式 ...

  8. 给Android Studio 设置背景图片

    初用Android Studio的我 看见这么帅的事情,肯定自己要设置试试(又可以边看女神边打代码了,想想都刺激)由于这不是AS的原始功能所以需要下载插件 先看看效果图吧: 1.下载插件 Sexy E ...

  9. 【Alpha】第五次Scrum meeting

    今日重大事件一览: 姓名 今日完成任务 所耗时间 刘乾 今日没有完成那个Issue..TuT第一次这么努力工作的我没有完成任务...真的是任务太坑啦. 任务完成了 60% Issue链接:https: ...

  10. 第三周 构造一个简单的Linux系统MenuOS

    一.   Linux内核源代码简介 稳定版内核:Linux-3.18.6 Linux内核源代码的目录结构: arch目录:在Linux内核源代码里占有的比重很大,因为Linux内核支持很多的体系结构, ...