面向对象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次作业总结的更多相关文章

  1. 面向对象OO第一单元三次作业总结

    (一)第一单元的作业围绕着多项式的求导,从简单到复杂,主要的要求是 作业一:只有两种格式的因子:带符号整数(+02)和幂函数(x^+02). 作业二:在作业一的基础上添加了:sin(x)和cos(x) ...

  2. 面向对象OO第15次作业总结

    面向对象OO第15次作业总结 1.论述测试与正确性论证的效果差异,比较其优缺点测试通过大量测试数据来覆盖测试代码,比较直观,优点在于知道测的是啥,特别直观,缺点在于很难覆盖所有情况.正确性论证从逻辑关 ...

  3. 面向对象OO第9-11次作业总结

    面向对象OO第9-11次作业总结 1.关于规格化设计的调研程序规格说明:对程序所应满足的要求,以可验证的方式作出完全.精确陈述的文件.“规格说明”一词与其他工业产品的“规格说明书”有相似的含义.不过, ...

  4. 面向对象OO第5-7次作业总结

    面向对象OO第5-7次作业总结 学习OO七周了,深切的感受到了这门课程的不友好.前三次作业能够算是勉强地通过了,但是从第五次作业开始就完全GG了.这三次作业,从多线程电梯开始,然后文件监控,然后到出租 ...

  5. OO第二次博客作业—17373247

    OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...

  6. OO第二次博客作业——电梯调度

    OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...

  7. OO第1~3次作业总结

    作业1——多项式运算 基于度量和类图分析设计 先看Metrics插件做出的复杂度分析: 乍一看没有红色报警,其实是因为选中某一行时会自动将该行改为黑色,无论之前是红色还是蓝色emmm 真正展开第一行时 ...

  8. BUAA OO 2019 第四单元作业总结

    目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽 ...

  9. BUAA OO 2019 第三单元作业总结

    目录 总 JML规格化设计 理论基础 工具链 规格验证 验证代码 代码静态检查 自动生成测试样例 生成结果 错误分析 作业设计 第九次作业 架构 代码实现 第十次作业 架构 代码实现 第十一次作业 架 ...

随机推荐

  1. HDU 1087 Super Jumping! Jumping! Jumping!(求LSI序列元素的和,改一下LIS转移方程)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1087 Super Jumping! Jumping! Jumping! Time Limit: 20 ...

  2. openstack的网络模式(转)

    单节点上虚拟机和虚拟机之间通信 直接同过linuxbridge转发数据,即可通信 虚拟机跨物理节点通信 利用交换机的包转发机制,在大二层网络中转发数据包 虚拟机跟外网通信 同样利用交换机转发,将数据包 ...

  3. iOS - dispatch_after解说

    dispatch_after 是来延迟执行的GCD方法,因为在主线程中我们不能用sleep来延迟方法的调用,所以用dispatch_after是最合适的 dispatch_after 能让我们添加进队 ...

  4. git merge的使用

    在实际开发中经常会用到git merge操作.但很多情况下我们并不想合并后直接提交,这里介绍git merge的两个常用参数: --no-commit --no-commit 参数使得合并后,为了防止 ...

  5. Ghostscript远程代码执行漏洞利用方法

    昨天爆出来的Ghostscript远程代码执行漏洞,复现过程如下 1.确认系统是否安装了gs 执行命令 gs -q -sDEVICE=ppmraw -dSAFER -sOutputFile=/dev/ ...

  6. go lang中局部变量的内存分配

    晚上在阅读go lang的资料时突然想到一个问题,go是如何分配变量的内存结构的呢?好在网上的一篇文章做了透彻的分析见[go语言局部变量分配在栈还是堆]. 其结论是go语言局部变量的分配是由编译器决定 ...

  7. spark练习——影评案例

    第一次写博客,新人上路,欢迎大家多多指教!!! ---------------------------------------------------------------------分割线---- ...

  8. SVG 动画(animate、animateTransform、animateMotion)

    原文:https://blog.csdn.net/chy555chy/article/details/53535581 参考 MDN开发文档 https://developer.mozilla.org ...

  9. ASP 读写文件FSO,adodb.stream

    例如静态化页面的时候 总结:用server.CreateObject("adodb.stream") 来读写比较好,可避免乱码和读取到多余的字符.....不推荐 "scr ...

  10. 【转载】进程内COM与进程外COM

    原文:http://www.cnblogs.com/jyz/archive/2009/03/08/1406229.html 1.进程内和进程外Com COM/DCOM 组件可以在DLL 或EXE 文档 ...