OO第四次博客作业(补交 from 16231228)
先非常诚恳地道歉,这次作业写在DDL的截止时间30分钟之后。。。。
因为这次高工作业网站新出了博客作业窗口,以为截止时间会在网站发布,一直在等待作业发布的通知,但是没有等到,最后才醒悟过来。。。
但是尽管这样,作业依然需要写,无论算不算分,对自己的大学最后一门正式课程要有个交代。
----------下面是作业的分割线-----------
“同学们,你们一定记得要幸福”
——from 吴老师 于高工最后一次OO课(大学的最后一节课)
听完这句话,自己泪如雨下,这是一门课的终结,也是我们的青春的终结。
一、第四次单元作业结构设计
1、第一次UML作业
这次作业的代码框架非常清晰,对于每一个类别,都生成一个自己的独立的类,对于myclass(手误写成了myclazz)进行了封装。这样做有个很大的好处,就是可以实现自己定义的许多新的,更方便的实现。
Bug修复:
这作业的错误其实都是因为自己对于定义的理解不充分引起的。
(1)对于去重,以及判断是否是一样的,自己采用的是根据名字而非id的判断(怪自己。。。常识性错误)
(2)关于多继承的问题
2、第二次UML作业
(因为图片太大没能截全)
架构与第一次作业简直一模一样,14个类被一个主类调用。
二、架构设计与OO方法理解改进
从第一次作业的杂乱无章,到后面的电梯,UML,每一次作业都是难度的一个飞跃。
第一次作业多项式,自己简直就是按照C语言的方式来进行的,毫无结构章法,仅仅为了功能的实现而强行码代码,东拼西凑。
那时,最关注的不是什么设计,结构,最爱读的是HashMap如何调用这样level0 语言贴,还记得被正则狂虐到暴风哭泣的夜晚,工具根本不熟练。
第二次电梯作业,多线程,问题出现在不会调试,又是一个难度的上升。
到了规格化作业章节,当自己看到指导书时心里暗自开心(终于熬过头了),一通飞速写完提交后发现原来这次考的是算法时间复杂度。
UML作业章节,又出现了指导书差点读不懂的情况,被定义疯狂碾压。
但是每次被打击过后,自己都会新考虑很多东西进去,比如算法,比如时间复杂度,比如怎样写不容易出bug。
三、关于测试
在OO中,感觉最重要的就是测试了。40%的时间写代码,60%的时间找bug。
自己对于这一点深有体会,倒数第二次作业过来中测就没有管了,最后爆了一堆点。。。
倒数第一次作业,长教训后疯狂测试,才拿到满分。
四、课程收获
1、代码能力
工程量比较大,每一次都要花费很多时间coding
2、debug能力
3、熬夜能力
印象最深的就是在规格化最后一次作业时候(已经连错两次作业了),在debug到3点的绝望。(巧的是,de完bug出来在图书馆门口发现了跟我一样在debug的同学......)
五、建议
1、课程的网站有点多。。。。相互之间没有提醒,自己第一次作业发现竟然要用到两个网站,请问可以在第一次的指导书上提醒一下commit网站吗
2、可不可以设置一下作业提醒呢?
自己的最后一次作业漏掉了,虽然自己要背很大一部分锅,但是一直在等通知(之前一直都有通知。。。),实在有点难受(好像最后一次作业没交的人也有点多。。。)。