面向对象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. 关于CodePlex

    CodePlex是微软的开源工程网站,涉及诸多微软最新技术的开源工程. 网址:http://www.codeplex.com/ 应常去看看.

  2. javaScript真值和假值以及相等操作符

    真值和假值 相等操作符(==和===) 下面分析一下不同类型的值用相等操作符(==)比较后的结果 toNumber 对不同 类型返回的结果如下: toPrimitive 对不同类型返回的结果如下: = ...

  3. ruby puts, print, p方法比较

    1.puts([obj[, obj2[, ....]]] ) 依次将obj和换行符输出到$>.若没有参数的话则只会输出换行符. 若参数是数组,则依次输出数组元素和换行符.若将既非数组又非字符串的 ...

  4. mysql存储过程批量插入数据

    DROP TABLE IF EXISTS TeachersInfo; CREATE TABLE TeachersInfo ( id INT NOT NULL AUTO_INCREMENT, teach ...

  5. Caused by: java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as return type!

    Caused by: java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as ...

  6. WPF 访问资源中的Storyboard

    原文:WPF 访问资源中的Storyboard <UserControl.Resources> <Storyboard x:Key="testStoryboard" ...

  7. 洛谷 P1762 偶数

    洛谷 P1762 偶数 题目描述 给定一个正整数n,请输出杨辉三角形前n行的偶数个数对1000003取模后的结果. 输入输出格式 输入格式: 一个数 输出格式: 结果 输入输出样例 输入样例#1:   ...

  8. 【LG3240】[HNOI2015]实验比较

    题面 洛谷 题解 30pts 爆搜即可. 100pts 题意描述里有一句:"对每张图片\(i\),小\(D\)都最多只记住了某一张质量不比\(i\)差的另一张图片\(K_i\)." ...

  9. P3674 小清新人渣的本愿

    P3674 小清新人渣的本愿 一道妙不可言的题啊,,, 一看就知道是个莫队 考虑求答案 1号操作就是个大bitset,动态维护当前的bitset \(S\),把能取哪些值都搞出来,只要\(S\ and ...

  10. idea ssm项目出现日志中文乱码,封装的json中的msg字段中文乱码(但是json封装的bean中的字段不乱码)等其他各种项目下的中文乱码解决方案

    开头划重点!(敲黑板):rebuild和mvn package的循环往复好几次的操作是解决这个问题的最主要的方法! 经过多次试验,发现这样做就可以正常显示中文了 我说为什么有时候乱码,有时候中文正常, ...