北航OO第四单元总结
OO最后一次博客作业——好聚好散
一、单元总结
作业一:
第一次是对类图进行解析,没有太大难度,只要根据讨论区提供的建议,新建两个类来存储相关数据即可实现。
作业二:
第二次作业的难度只有量的提升,然而量的提升直接增加了debug的难度,也正是因为bug太多,烤漆又忙,导致最后没能提交。
第二次作业多了状态图和顺序图,存储方式比较类似,大部分地方可以cv。
这次主要还是总结第四单元的体验。
采用的讨论区的建议,搭建了MyOperation和MyClass两个类。
部分截图
第十四次作业(很像章鱼),我没能打赢伟大的战争,因为怂了。
二、关于四个单元的感慨
学面向对象之前,一直不明白面向对象是什么样的课程。学计组之前,也是不明白计组是什么样的课程。计组学完了,好像就只会搭个CPU,还是被时代淘汰的那种,所教的工程化方法还是没有掌握。学完OO,感觉自己同样没能达到老师与助教的期望,我仍然说不出什么是面向对象,只有一个模糊的概念,这代码该这样写,类要高耦合低内聚,代码风格不要丑到引起同事的杀人动机,学会用junit来debug,学会自己写对拍器。至于其他的,大概就只有写代码的能力提升了,思维上似乎还停留在大一那个懵懂的自己 。
一路走来,风风雨雨。
记得预习部分还是简单的a+b,第一单元就开始让我们疯狂操练正则表达式——而老师和助教的目的则是让我们掌握继承多态封装。我是没有继承的,换一次作业重构一次,也没能感受到这些技能的强大之处,直到后两面的单元,才慢慢对这些概念有了全新的认识。
第二单元的多线程让我狠狠地摔了一跤。理论课似乎明白了什么是多线程,却不会在Java里实现,导致作业写得磕磕碰碰。往事不堪回首,体验很差。
第三单元的JML目的是学会使用java建模语言。主要是操练了根据jml写代码,有点像英语的完形填空。难度较之之前有很大的改善。不过后来的作业由于jml过于冗长,都是直接按照作业指导书的要求完成了一个能实现任务的代码,并没有仔细研读jml,可能和老师助教的初衷相悖。
第四单元是uml。Uml建模实在是妙不可言,把抽象的代码轻而易举地转化成形象的图标,让外行也能看懂一二。而我们的作业则是解析uml文件。第一次作业尚能看懂jml解析出来的文件,第二次完全靠讨论区续命。
三、一些建议
1.帮助我们厘清面向对象和Java学习的区别。在默认我们已经掌握Java的前提下用Java学面向对象,不是一举两得,而是两个学得都不精,当然这是针对我们菜鸡来讲的。
2.建议增加迟交窗口,拖延症患者表示不到ddl不会动手,到了ddl发现来不及......(迟交给个及格也是爱啊)。
3.增加助教数量,感觉助教工作量太大,太辛苦了,在日常贴的回复过程中,有不少无效提问,而无效问题很难从学生端解决(假设学生都是懒的)。