面向对象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. Python学习笔记系列——读写文件以及敏感词过滤器的实现

    一.读文件 #打开文件,传入文件名和标识符,r代表读 f= open('\\Users\ZC\Desktop\zc.txt','r') #调用read方法一次性读取文件的全部内容,存入内存,用str对 ...

  2. NYOJ 36 LCS(最长公共子序列)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB ...

  3. VSC 插件开发从入门到Hello World

    1.原理放一边,我们先来个Hello,World 1.1 安装基础环境 需要的基础环境列表: Node.js npm vs code yo generator-code yo:全称Yeoman,可以把 ...

  4. SharePoint document 右键菜单和【...】菜单不一致的解决办法

    [问题]在sharepoint 2016环境中,当用户只有read权限,访问文档库,会发现文档的右键菜单和[…]菜单的内如是不一致的,而更高权限用户都是一致的. [分析]这个跟微软询问过,是个bug, ...

  5. TCP\UDP客户—服务器程序设计基本框架流程图

  6. PHP+MySQL实现海量数据导入导出的总结:is_numbric函数的坑

    前段时间有个需求:将生产环境的部分数据转移到测试服务器进行测试.由于只需要导入特定账号的数据,我就想着将写个脚本,将数据组装成sql语句导出为sql文件,然后转移到测试服务器,导入到MySQL中.想象 ...

  7. Gson转换复杂对象报错【类型强转错误】

    一.问题: 项目里遇到一个需求,规则文件下载后,导入本地解析. 采用的方案是:获取复杂对象,使用谷歌Gson转换为字串保存为文件下载,客户端读取文件,解析字串,反解对象 遇到的问题:传输的对象是一个嵌 ...

  8. bzoj2564 集合的面积

    Description 对于一个平面上点的集合P={(xi,yi )},定义集合P的面积F(P)为点集P的凸包的面积. 对于两个点集A和B,定义集合的和为: A+B={(xiA+xjB,yiA+yjB ...

  9. 【BZOJ1046】[HAOI2007]上升序列

    [BZOJ1046][HAOI2007]上升序列 题面 bzoj 洛谷 题解 \(dp\)完之后随便搞一下即可,注意不要看错题 代码 #include <iostream> #includ ...

  10. AGC 018 F - Two Trees

    F - Two Trees 链接 题意: 给定两棵都是N个节点的有根树,节点均从1~N标号.给每个标号定一个权值(类似一号点的权值是x,那么两棵树中1号点的权值都是x),使在两棵树满足以任意节点为根的 ...