作业一

在第一次作业发布的时候对这次作业比较掉以轻心,因为之前在暑假的时候上过先导课,对面向对象的编程思想和java的语法都比较熟悉,加上有其他的事物分心,所以到了最后一天才开始着手写代码,轻视作业的结果自然是惨不忍睹,仅仅能勉强完成一个能运行、不crash的程序。

作业二&三

  我比上一次留了更多的时间来完成作业二,但这仍然不是很够,虽然完成了基本的功能要求,但是却因为是赶着写完的,完全忘了写最基础的输入格式的判断,导致输入报错功能缺失很多。

  至于作业三,虽然吸取了前两次作业的教训,一早就准备好开始写第三次的作业,电脑却不幸地坏了……更不幸的是,在借了同学的闲置的电脑之后没用几个小时也坏了……于是在我去到维修中心弄清楚是硬盘坏了并换上了一个新的之后,我只剩不到30个小时从0开始……于是这次作业没交上。

但我还是想分析一下我这次作业的问题,在上一次作业中我设计的思路是逐条读取指令,并判断读取时电梯的运行状态,因此我的时间是跳跃前进的,而在第三次作业中改成了0.5秒0.5秒刷新电梯状态并读取指令,对我的程度来说这样拟真成都比较高的设计思路逻辑比较清晰直观,然而在实际写的过程中难免出bug,在debug的过程中不断的进行大幅改动又没有备份改动前的版本是我这次作业没能完成的两大直接原因,因此也学到了一个新的教训:对自己程序中的bug要有比较清楚的认知和分析后再着手改动,且进行大的改动前最好保留一次备份,以防万一。

分析自己程序的bug

几次作业导致bug的有一个很大的原因都是没有足够仔细的研读指导书,指导书里面许多非常细节的要求,方方面面都要考虑到,当你缺少了哪一个部分或者是理解有偏差,很容易一片江山满地红的。再者就是很多在编写过程中出现的各种大大小小的bug,不仅拖慢编写速度,还会混肴自己的逻辑,这种现象主要来源于自己着手写之前没有进行足够的思考,我认为正确的方式应该是先通读仔细理解指导书,再根据指导书思考程序的架构,想清楚逻辑,把它们写下来,然后再开始着手写代码,写的时候还要时时再看自己写的思路,才不会写着写着变成一团乱麻。

发现别人程序bug所采用的策略

第一次作业主要使用的是阅读对方代码,了解对方的思路再针对性的找bug的方法,但这个方法再第二次作业就行不通了,因为对方的代码非常冗杂,很难理解对方的思路,想了几种测试样例,也测不出来除公测错误之外的错误。

心得体会

虽然OO一直以来都是怨声载道的一门课,我自己也被折磨的不清,常常写不出来挫败感很大(虽然大部分是自己作死),但是每一次折磨过后成长是显而易见的,而且不得不承认在面向对象的编程过程中我还是能感受到乐趣的,虽然一直表现的不好,但我相信坚持改掉缺点,往进步的方向再挪动一点点,到这门课结课的时候一定有很大的改变。与各位同学们共勉吧。

第一次OO阶段性总结的更多相关文章

  1. 第一次OO总结

    作业1——多项式加减法 看到这个名字就开始瑟瑟发抖了,毕竟一年前用C语言让我写这么一个程序都很头疼,什么堆栈啊还有结构都稀里糊涂的,更别说用一个完全没接触过的语言来完成最简单的一次作业.像我这样越老心 ...

  2. OO前三次作业思考(第一次OO——Blog)

    OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...

  3. 第一次oo博客作业--表达式求导

    (1)说实话我这部分真的不知道写些什么,因为我只有第三次作业写了两个类,前两次都是一个类,一个类的好处可能也就是写起来比较方便(不用抽象什么共性了,直接c语言莽过去),缺点很多,架构不清晰,可读性不高 ...

  4. OO第一次总结作业

    第一次OO博客作业 前言 面向对象课程已经经过了4周的时间.前三次作业全部是关于多项式求导的相关内容,内容由易到难,同时我也开始逐渐深入感受学习面向对象的各项特征,逐渐将自己的编程风格从C向真正的面向 ...

  5. OO第一阶段纪实

    $ 0 写在前面 在DDL一次次的推动下,历经三个周期的更迭,一个月的时光匆匆而过.谨撰此博文,以记录这一段见证成长的心路历程. $ 0-0 JAVA“一天速成”没有修习过传说中的“OO先导课”,在学 ...

  6. oo作业总结(四)

    测试与正确性论证 测试是通过构造一系列测试数据,通过对比程序的实际运行结果和预期输出结果来判断程序是否有bug的一种手段.同时,在测试的时候是默认看不到程序的具体实现的,即进行黑盒测试,例如每次OO作 ...

  7. 第一次码java感想及前三次作业总结

    写在前面 嗯,首先是java,这学期第一次oo作业布置下来的周末才开始看的,第一次作业因此写得有些手忙脚乱.不过大概看了一遍后发现比c好用,入门更简单吧,好多操作直接import一下就能用了,码代码的 ...

  8. BUAA-OO-第四单元总结——终章

    面向对象第四单元博客总结--终章 第四单元作业设计 第13次作业设计 类和对应方法属性设计 类设计如下图所示 本次作业主要涉及六个类,其中包括主类 Main ,通用Map类 UmlElementIdM ...

  9. 面向对象第一单元总结:Java实现表达式求导

    面向对象第一单元总结:Java实现表达式求导 题目要求 输入一个表达式:包含x,x**2,sin(),cos(),等形式,对x求导并输出结果 例:\(x+x**2+-2*x**2*(sin(x**2+ ...

随机推荐

  1. iPhone8再MacOS上修改手机铃声

    1 选择下载好的mp3铃声文件,导入到itunes 2 将音乐改成AAA模式, 设置你的铃声时长 3 show in finder 找到文件,将mpr后缀修改成m4r,并删除掉mp3文件,将m4r文件 ...

  2. Luogu P4321 随机漫游

    期望DP要倒着推 Luogu P4321 题意 LOJ #2542 不一定是树,询问点不一定均为1 $Solution$ 设计一个巧妙的DP状态 设$ F(S,x)$表示当前在点$ x$已经走遍了$ ...

  3. if判断中的true和false

    真值指的是在 布尔值 上下文中转换后(使用强制类型转换)的值为真的值.所有值都是真值,除非它们被定义为 falsy (即除了 false,0,"",null,undefined 和 ...

  4. Django之会议室预预订

    model表设计: from django.db import models from django.contrib.auth.models import AbstractUser # Create ...

  5. Beta 冲刺(4/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(4/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 ppt模板 接下来的计划 做好机动. ...

  6. VMware虚拟机安装Linux后忘记root密码怎么办(三)

    第一种方法如下: 1.Linux开机 按键盘e今日GRUB界面如下:(GRUB管理引导启动盘) 切换到原系统目录: chroot /sysroot/ 2.重新启动客户机 3.使用新密码登录成功! 第二 ...

  7. python3列表(list)

    一.列表(List) 定义:有序的可变的元素集合:通过range函数构造,在python3 中用的时候才会去构造   list = [1,2,3,4,5,'abc',['a',1,2,3],6,7] ...

  8. Shell的类型

    1.类Unix系统中有各种shell.如: /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh 2.在/etc/shells文本文件中可以查看 ...

  9. MySQL学习笔记:timediff、timestampdiff、datediff

    一.时间差函数:timestampdiff 语法:timestampdiff(interval, datetime1,datetime2) 结果:返回(时间2-时间1)的时间差,结果单位由interv ...

  10. spring boot slf4j日记记录配置详解

    https://blog.csdn.net/liuweixiao520/article/details/78900779