【BUAA-OO】第一单元作业总结
#OO第一单元作业总结
#确认存活,爱学习,爱北航,爱OO
一、三次作业分析
1.第一次作业
1.1 程序结构
对方法的度量:

类的内聚和相互间的耦合情况:

类图:

优缺点:
优点大概没什么优点,毕竟我只是个emmmm
缺点是显而易见的简单粗暴,一个Polynomial干到底,输入输出提取优化求导一站式操作,完全没有get到面向对象。
1.2 bug分析
未通过的公测用例: 无
被互测发现的bug: 未处理的空白字符,理解错题意害死人。×n
Bug修复: 因考虑疏忽产生的bug,将未考虑部分补全即可。
2.第二次作业
2.1 程序结构
方法度量:

类的内聚和相互间的耦合情况:

类图:

优缺点:
和上一次相比终于搞出了项来承接多项式,迈出了思维转变的第一步。
但是依旧没有扩展性,在下一场战斗中光荣牺牲。
虽然这次战斗也因为时间赶而疏忽的很惨。
2.2 bug分析
未通过的公测用例: 空格太多在正则匹配时出现了TLE错误×1
toString时未考虑常数项前的加号而出现格式错误×2
处理减号与负号同时出现的问题时未考虑周全而出现结果错误×2
被互测发现的bug: toString时未考虑常数项前的加号而出现格式错误×3
处理减号与负号同时出现的问题时未考虑周全而出现结果错误×3
Bug修复: 因考虑疏忽产生的bug,将未考虑部分补全即可。
3.第三次作业
3.1 程序结构
方法度量:

类的内聚和相互间的耦合情况:

类图:

优缺点:
使用了上课学到的接口和继承,有了那么一点面向对象的样子。
因为时间赶得太紧没有写完优化,有一部分类方法冗余,然后完全没有性能分。
3.2 bug分析
未通过的公测用例: 因表达式因子嵌套太多而导致TLE×2
被互测发现的bug: 因表达式因子嵌套太多而导致TLE×1
Bug修复: 将多余的表达式因子括号消除可解决部分TLE问题。
单纯因为嵌套导致的问题涉及程序结构问题,无法在小范围内修改解决。
二、bug寻找策略
(小声bb)如果我会找bug我也不会被人打得那么惨还没办法还手了。
随手试试>>指导书样例>>根据指导书叙述尽可能覆盖生成样例>>神奇脑洞测试>>面向测评机试试
有效性几乎等于没有,勉强活过中测。
吸取惨痛教训,向dalao低头。
至于别人的bug……Peace is all……
三、Applying Creational Pattern
可以用工厂模式构造项、多项式等对象。
回头慢慢学吧……
All in all:
活着就是最大的胜利,以后的日子也要加油鸭!
【BUAA-OO】第一单元作业总结的更多相关文章
- 多项式与三角函数求导——BUAA OO 第一单元作业总结
第一次作业 需求简要说明 针对符合规定的多项式表达式输出其符合格式规定的导函数多项式,格式错误输出WRONG FORMAT! 带符号整数 支持前导0的带符号整数,符号可省略,如: +02.-16> ...
- 【OO学习】OO第一单元作业总结
OO第一单元作业总结 在第一单元作业中,我们只做了一件事情:求导,对多项式求导,对带三角函数的表达式求导,对有括号嵌套的表达式求导.作业难度依次递增,让我们熟悉面向对象编程方法,开始从面向过程向面向对 ...
- 【作业1.0】OO第一单元作业总结
OO第一单元作业已全部完成,为了使这一单元的作业能够收获更多一点,我回忆起我曾经在计算机组成课设中,经常我们会写一些实验报告,经常以此对实验内容反思总结.在我们开始下一单元的作业之前,我在此对OO第一 ...
- OO第一单元作业总结——表达式求导
OO第一单元作业总结 第一次作业 基于度量分析代码结构 基本算法 第一次作业是简单多项式导函数求解,不需要对输入数据的合法性进行判定, 基本思想是用 (coeff, expo)表示二元组 coeff* ...
- OO第一单元作业总结
oo第一单元的作业是对多项式的求导.下面就是对三次作业分别进行分析. 第一次作业 分析 第一次作业相对来讲比较简单,甚至不用面向对象的思想都能十分轻松的完成(实际上自己就没有使用),包含的内容只有常数 ...
- 北航OO第一单元作业总结(1.1~1.3)
经过了三次作业之后,OO第一单元告一段落,作为一个蒟蒻,我初步了解了面向对象的编程思想,并将所学内容用于实践. 一.第一次作业 1.架构分析 本次作业需要完成的任务为简单多项式导函数的求解.表达式仅支 ...
- OO第一单元作业小结
前言 第一单元的主题是表达式求导,第一次作业是只带有常数和幂函数的求导,第二次作业加入了正余弦函数,第三次作业又加入了表达式嵌套,难度逐渐提升.总体来说前两次作业还易于应对,而第三次作业做得相对有些艰 ...
- 电梯模拟系统——BUAA OO第二单元作业总结
需求分析 官方需求 本次作业需要模拟一个多线程实时多电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出. 本次作业电梯系统具有的功能为:上下行, ...
- 2019北航OO第一单元作业总结
一.前三次作业内容分析总结 前言 前三次作业,我提交了三次,但是有效作业只有两次,最后一次作业没能实现多项式求导的基本功能因此无疾而终,反思留给后文再续,首先我介绍一下这三次作业,三次作业围绕着多项式 ...
- OO第一单元作业——魔幻求导
简介 本单元作业分为三次 第一次作业:需要完成的任务为简单多项式导函数的求解. 第二次作业:需要完成的任务为包含简单幂函数和简单正余弦函数的导函数的求解. 第三次作业:需要完成的任务为包含简单幂函数和 ...
随机推荐
- sessionStorage 前端HTML5会话管理
sessionStorage 是在HTML5中新增的一个会话存储对象,sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.. 提示: 如果你想 ...
- Mysql8安装与配置
网上的教程有很多,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的. 安装环境:win7 1.下载zip安装包: MySQL ...
- Kali Hydra SSL issue, xHydra (GUI version of Hydra) works just fine
First find the source code. (https://is.gd/LlS5Sy) - Example search Once located you must download i ...
- Cocos Creater 监听程序到后台和重新到前台
cocos creator前后台切换当玩家在玩游戏时,突然接了一个电话,此时游戏会被切到后台待机,所有的声音播放都会停止,等打完电话,回到游戏,游戏又会被切回前台来,需要手动播放声音.可使用如下代码 ...
- Kinetis Design Studio 下使用J-Link下载程序
1.安装J-Link驱动. 在KDS安装目录下已自带J-Link驱动,进入以下目录(以我的为例): C:\Freescale\KDS_1.1.1\segger\USBDriver 将看到CDC.x64 ...
- 用java语言通过POI实现word文档的按标题提取
最近有一个项目需要将一个word文档中的数据提取到数据库中.就去网上查了好多资料,最靠谱的就是用poi实现word文档的提取. 喝水不忘挖井人,我查了好多资料就这个最靠谱,我的这篇博客主要是借鉴htt ...
- vue路由请求 router
创建一个Router.js文件 // 路由请求//声明一个常量设置路菜单// import Vue from "vue/types/index";import Vue from ' ...
- Scrapy详解
一.爬虫生态框架 在管道传数据只能传字典和items类型. 将 上一return语句注释则会报错 如: 如上图,爬虫文件中有一个name属性,如果多个爬虫可以通过这个属性在管道控制分析的是哪个爬虫的 ...
- JSON.parse与JSON.stringify
JSON:JavaScript Object Notation(JavaScript对象表示法):甚至我们就可以大致认为JSON就是Javascript的对象,只不过范围小上一些. JSON的MIME ...
- Oracle 体系结构chapter2
前言:Oracle 体系结构其实就是指oracle 服务器的体系结构,数据库服务器主要由三个部分组成 管理数据库的各种软件工具(sqlplus,OEM等),实例(一组oracle 后台进程以及服务器中 ...