面向对象OO第1-3次作业总结
面向对象OO第1-3次作业总结
学习OO已经四周了,对OO以及JAVA的编程也算终于了解了一丢丢。现在做完了三次的编程作业,对前三次的作业做一次总结。
第一次作业

----------------------------------

----------------------------------
第一次作业
自己程序的bug:
1.第一次作业压力测试没过
2.第一项是负号的情况下没有按照负号进行运算
别人程序的bug:对输入的格式判断不够全面,有多种格式问题
自己设计结构的问题:没有严格按照面向对象的结构来编程,没有考虑第一项为负的情况。
自己发现别人程序bug所采用的策略
按照提供的错误分类树,在每一个叶节点上自己编了一个测试样例然后进行测试,就发现了测试对象的bug
心得体会
用了不到一周的时间来学习一门新的语言,对我来说有很大的难度,加上对面向对象的理解不够,所以只能勉强地用面向过程的写法来完成第一次的作业。第一次作业的难度我觉得主要在判断输入的格式的合法性,我在这个地方纠结了差不多两天,第一天一直在尝试用有限状态机来分析输入的各种情况,但是试验了一天后发现这个方法不可取啊,因为可能的输入情况真的太多了,而且太多的if/else嵌套很容易出bug,因此第二天开始学习使用正则表达式,终于在第二天写出了用正则表达式来判断输入的合法性。正则表达式真的非常好用。
第二次作业

----------------------------------------

------------------------------------------
第二次作业
自己程序的bug:1.时间为uint-1/uint/uint+1的情况下输出错误
别人程序的bug:完全没发现bug
自己设计的问题:对time的值考虑情况不够,用了double的类型但是还是出了问题,问题出现在将时间由字符串转换成数字类型时转换成了int,然而要求的是unsignedint,所以产生了问题。
心得体会
第二次作业终于写出了所谓的面向对象设计的程序,开始体会到java编程的方便之处,第二次作业的电梯是个傻瓜电梯,设计起来还是比较容易的,有了第一次作业的经验,在判断输入上也轻松了很多。
第三次作业
-------------------------------------

---------------------------------------
第三次作业
自己程序的bug:1.时间超出范围时错误
2.同一请求被执行多次
3.电梯请求e.e_n<r.n<=e.n/r.n>e.n捎带
4.楼层请求e.n<=rln<e.e_n捎带
5.请求楼层全部处于(e.e_n,r主.n]/[r主.n,e.e_n)全部捎带
别人程序的bug:输出INVALID的时候错误输出成#INVALID
心得体会
第三次作业写得我非常头疼,一直没有清晰的弄清楚到底什么时候捎带什么时候不捎带,在自己理清了一条一条的捎带规则之后,多条规则混合在一起时就产生了各种各样的bug,还是自己的设计有问题。相反看了自己测试的同学的近乎完美的测试,看了他的代码也让我学习了许多。自己在阅读指导书的时候还是不够细心和耐心,还不太习惯阅读这种指导书,希望在以后一次一次的锻炼中赶紧适应。
面向对象OO第1-3次作业总结的更多相关文章
- 面向对象OO第一单元三次作业总结
(一)第一单元的作业围绕着多项式的求导,从简单到复杂,主要的要求是 作业一:只有两种格式的因子:带符号整数(+02)和幂函数(x^+02). 作业二:在作业一的基础上添加了:sin(x)和cos(x) ...
- 面向对象OO第15次作业总结
面向对象OO第15次作业总结 1.论述测试与正确性论证的效果差异,比较其优缺点测试通过大量测试数据来覆盖测试代码,比较直观,优点在于知道测的是啥,特别直观,缺点在于很难覆盖所有情况.正确性论证从逻辑关 ...
- 面向对象OO第9-11次作业总结
面向对象OO第9-11次作业总结 1.关于规格化设计的调研程序规格说明:对程序所应满足的要求,以可验证的方式作出完全.精确陈述的文件.“规格说明”一词与其他工业产品的“规格说明书”有相似的含义.不过, ...
- 面向对象OO第5-7次作业总结
面向对象OO第5-7次作业总结 学习OO七周了,深切的感受到了这门课程的不友好.前三次作业能够算是勉强地通过了,但是从第五次作业开始就完全GG了.这三次作业,从多线程电梯开始,然后文件监控,然后到出租 ...
- OO第二次博客作业—17373247
OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...
- OO第二次博客作业——电梯调度
OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...
- OO第1~3次作业总结
作业1——多项式运算 基于度量和类图分析设计 先看Metrics插件做出的复杂度分析: 乍一看没有红色报警,其实是因为选中某一行时会自动将该行改为黑色,无论之前是红色还是蓝色emmm 真正展开第一行时 ...
- BUAA OO 2019 第四单元作业总结
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽 ...
- BUAA OO 2019 第三单元作业总结
目录 总 JML规格化设计 理论基础 工具链 规格验证 验证代码 代码静态检查 自动生成测试样例 生成结果 错误分析 作业设计 第九次作业 架构 代码实现 第十次作业 架构 代码实现 第十一次作业 架 ...
随机推荐
- jlink RTT 打印 BUG , FreeRTOS 在开启 tickless 模式下 无法使用的问题
一开始我以为是 jlink 的问题,后面发现是 tickless 模式搞鬼 tickless 模式下 ,内核 会 根据任务需求,会停止工作,这个时候 jlink rtt 打印就会失效!!! 不过 NR ...
- 你的安全设置不允许网站使用安装在你的计算机上的ActiveX控件
在IE中,工具--INTERNET选项--安全--自定义级别--"下载未签名的ActiveX控件"选项改成"提示"或"允许"就好了.
- C++之指针指向二维数组
一维指针通经常使用指针表示,其指向的地址是数组第一元素所在的内存地址,例如以下 int ary[4][5]; int(*aryp)[5] = ary; 那么ary[4]相当于int(*aryp).下面 ...
- CoreText 关键性常用函数说明
CoreText是专门进行文字绘制的函数集合 CoreText 将单个字符分为 · baseline(基线),一条假想的线,一行上的字形都以此线作为上下位置的参考,在这条线的左侧存在一个点叫做基线的原 ...
- 基于Babylon.js编写简单的骨骼动画生成器
使用骨骼动画技术可以将网格的顶点分配给若干骨头,通过给骨头设定关键帧和父子关系,可以赋予网格高度动态并具有传递性的变形 效果.这里结合之前的相关研究在网页端使用JavaScript实现了一个简单的骨骼 ...
- MacOS(10.11.6)+Qt(5.5.1)+Xcode(8.2) C++开发环境配置
VMware虚拟机安装MacOS(这里安装的是MacOS X 10.11.6), 百度很多, 不再详述. 安装Xcode(这里安装的是Xcode8.2) 下载(https://developer.ap ...
- 人生苦短,我用python
星空不问赶路人,时光不负有心人,你可以脱变. 1.计算机的初步认识 2.解释器的安装 python2.7(2020年官方不在维护) python3.6 (官方推荐) 1.下载安装包 https://w ...
- A1084
输入:只能输入A-Z(不区分大小写),0-9和下划线: 第一行输入应输入字符串,第二行输入实际输入字符串. 输出:按大写输出缺少的字符,每个字符输出一次. 注意: 1.由于不区分大小写,则需要将小写字 ...
- 在jupyter中安装R的kernal
网上有安装完anaconda后可以直接使用conda 命令安装R的kernal,本人电脑上已经安装了anaconda和R,因此使用手动安装的方式安装. 安装环境: windows 8.1 企业版 An ...
- 《Java 程序设计》课堂实践项目-简易计算器
<Java 程序设计>课堂实践项目简易计算器 课后学习总结 目录 改变 简易计算器实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有 ...