OO第一次博客总结

 第一次作业: 

度量图:

 

  虽然说对oo这门课早有耳闻,但实际上只有自己上了才知道。由于自己以前没有学过java,也没有面向对象的思维。无奈,花了一天自学了java的基础语法以及一些基本的编程规范。但是第一次作业的实战就暴露出匆忙学习的后果。首先就是正则表达式的匹配识别,自己一开始的确想到了单个识别,即把每个多项式拆开进行识别匹配,这的确是个不错的方法,所以我并没有遇到正则爆栈的情况,但是我却在如何分,以及分后识别出了问题,对Pattern和Matcher类不熟悉,导致程序并不能完全识别所有非法输入,在其后的公测互测中也体现出来了。这次作业给我的java编程入了个门,我充分吸取了教训,并期待在下次作业不在重犯。

    第一次拿到别人的代码,也不太会调试,看了看程序,跑了一下自己构造的数据,过了,然后仔分析别人的代码相当简洁,而且面向对象的思想十分清晰,我认真学习了大佬的代码,决定用于下一次作业中。

第二次作业:

度量图

类图

  这次作业对我来说仍不算轻松吧,虽说有了上一次经验,这一次写起来倒不是很模糊,但这次的指导书是我第一次见到这么长的,我花了很久阅读指导书。因为明确要求实现五个类,我的思想就是电梯类负责电梯请求以及电梯的输出,楼梯类负责楼梯请求,请求类负责是别两个来源的请求是否合法,请求队列则是专门存放合法请求,调度器类就是对请求队列里的请求进行调度输出。

        这次作业,整体实现调度并不复杂,但是判断同质还是花了我好一番功夫,我用的笨办法,就是把所有的合法请求的信息记录下来,用for循环判断是否有同质的请求,我在for循环里从后往前找,可能节约了一部分时间吧。

      这次作业我犯了一个可能没有人会犯的错误,因为指导书说不与实际电梯一致,我就只看了指导书的例子,没有进行分析,我以为只有STILL状态才需要开关门一次,其他的没有考虑开关门的一秒。由于这个问题导致公测直接错了很多。

 

第三次作业:

度量图

 

类图

 

 

  这次作业大抵是咋上一次上进行添加功能,听起来简单,可到了实际分析时才发现非常的复杂,捎带的情况当时没有条理进行分析,导致代码相当臃肿,但最后把大量重复代码写成函数后,把几种捎带合为一体就简化了许多。

我的大体思想就是遇到主请求后进行请求队列扫描,把捎带请求放到捎带队列里,并删除相应的请求,遇到电梯类的超过目标楼层的请求,则进行重新扫描,得到请求队列后,调用第二次的方法进行输出即可。

        但在这里我又很傻地犯了一个错误,有一个地方数组越界了,这是只有数组长度为1时才会crash,不幸的是公测的非法判断全是这种数据,所以自己一个也没对,究其根本,还是自己没有进行充分测试,一些极小数据因为简单而不测,这是很不好的思想。

由以上三次作业,我有以下几点心得体会,与其说是分享给大家,不如说是告诫自己。

1,  不要拖拉,提前写,因为真的事情越来越多

2,  认真读题,仔细阅读指导书,不要着急写

3,  构造数据前,一定要看看bug树,这会给我方向

4,  进行覆盖测试,无论大小

5,  虚心学习别人的长处,体会Java面向对象编程的魅力

 

posted @ 2018-04-03 23:38  暖透流年  阅读(127)  评论(0编辑  收藏  举报