OO第四单元总结和最后总结
一、第四单元总结
第一次作业
主要是在阅读题目和官方包以获取信息的时候耗费了很长的时间,研究如何获取相关的数据,对应的调用方法是什么,这方面比较麻烦且耗费时。还有就是在容器的建立方面遭遇到了很多的问题,如何存储读取的数据,在调用方法时如何使用存储的数据,都是这次作业的难点所在。
Bug主要出现在对于同名不同id的各项考虑上,比如在计算接口时,同name不同id的接口需要计算、输出两次等等,此外还有interface的信息不用存储等问题,但是通过所提供的样例和自己通过StarUml软件搭建图来导出数据等方法都得以解决,唯一的问题就在于因为递归写的有问题而导致的超时问题。
第二次作业
我认为第二次作业难点很少,因为状态图和顺序图的处理难度并不很高,而比较难的部分已经在第一次作业中完成了,所以写的速度很快。
Bug没有怎么出现,样例一次就过了,提交评测后也没有出现什么问题。
第三次作业
第三次作业中没有新的处理数据的部分,只有利用原有的数据进行一些分析计算的部分。值得注意的是,在第一二次作业中我所使用的容器存储数据的方法在这次作业中不太好用,因为都在一个类中处理,而且容器所存储的数据也并不是正确的形式,所以我认为应该从最开始就使用类来存储数据,而不是单纯的用容器,在数据需要很多处理的时候就会出现很大问题。
二、OO总结
在这个学期的学习中,除了编程能力的提升,我认为主要收获到的两个方面是:第一,编程由面向过程转为面向对象,通过类和类之间的协作来达成信息的封装,每个类各司其职,功能上相协调,信息也得以互通。第二,更重要的是学习到了如何去测评程序,研讨课和实验所教导的技能和方法可以有效运用到每周的作业中来,写程序是重要的技能,但我认为测评更是重中之重。
这学期收获到了很多,但同样的,也有很多的遗憾,第一是因为我的懈怠和懒惰没有自己写出一个自动测评机出来,更多的是依靠手动构造极端数据测评,可想而知,效率极其低效而且很多bug根本找不出来,所以在第三单元的时候出现了特别多的问题,因为过了弱测之后没有高强度的测试数据,面对程序束手无策,第二是数据结构留下来的坑终于在现在报应在OO上了,递归写的稀碎,不是错就是死循环,就算写对了也是效率性能极其低下,出现很多点超时的问题,但也不知道怎么改,我认为在这个假期或者下个学期是值得注重的一点,需要好好复习各项算法的部分。
我认为OO的灵魂单元在于电梯多线程,在这个单元我认为类和类之间的协作和信息互通展现的特别好,这个单元也是我收获最多的一个单元,不仅要考虑线程安全的问题,还有类和类之间如何信息互通,如何进行换乘算法的设计等等。
线上学习的这一个学期中,我认为比较不好的地方在于自己在家没有在学校那样良好的学习环境,同学一起学习的向上促进力,学习热情和学习专注力不如在学校的时候,但网课可以让我们课下自由地看自己没有学会的东西,也是一定程度上增强了自学能力,还能是的知识的学习更完备,缺口更小。