OO课程总结

一、四个单元架构设计及OO方法理解的演进

  OO课程四个单元的学习下来,自我感觉每个单元都有突破我对编程的理解。寒假预习作业和第一单元是我首次接触到面向对象的编程模式,首次认识到了封装、继承、多态以及它们的作用。经历了第一单元的三次作业过后,我才逐渐从当初“唯结果”式的编程模式跳脱出来,懂得考虑代码的架构设计,以便于进行迭代更新。当然,也正是因为当时不熟悉这种模式,第三次作业着实让我吃尽了苦头。第二单元的多线程也是一个我完全没有了解过的模块。习惯了单线程编程模式的我,突然跳到多线程的时候,总有许多难以理解的地方。其中最令人头疼的就是同步的问题了。单线程时只需要保证方法不出错,基本上就能正常运行;而多线程在编写代码时要时刻考虑到线程之间的交互、同步等问题,什么时候该暂停,什么时候该运行,都需要在设计时就考虑清楚。更可况由于多线程的特殊性,对代码的测试结果几乎不可能复现,这就更加要求我们在编写代码的时候减少错误。第三单元总体难度不大,只要准确实现规格、对算法进行一些优化即可,但依然学到了新东西:JML,让我意识到设计代码和实现代码是能分开操作的。第四单元的UML和第三单元类似,整体难度不算太高,只要认真学习和理解就能过关。

二、四个单元中测试理解与实践的演进

  对代码的测试其实是我本学期做的最不好的一点。由于我花在OO上的时间总是不足,每次作业都是赶在ddl前两三天来完成的,没有多余的时间去对代码进行系统测试,只会简单地进行基础数据测试保证代码没有特别明显的bug。虽然后面也学习了JUnit,但因为不够熟练,在摸索过程中花费太多时间,最后选择了放弃。

三、课程收获

  大一时的我曾单纯地以为C语言能解决一切编程相关的问题,再往上顶多是学习一些更高级的算法;但在接触了java过后我才认识到编程相关领域的水深,而我才刚刚让水没过脚踝。OO课程每周一次作业的快节奏让我不得不认真起来,迭代式的作业设计让我开始思考每次编写代码时的架构设计,代码风格检测等细节也让我逐渐养成了良好的编程习惯。总之,一学期的OO课程让我从刚熟悉编程的“小白”,渐渐走向了编程“大佬”。

四、课程改进意见

  1、实验课的反馈太少,每次上完实验课不知道自己是否写对,也不知道自己错在哪里,感觉几乎没有收益;

  2、研讨课限制在每个小班,能分享的意见有限;

  3、个人感觉每次作业时间太短,总是不能比较完美地处理好。

五、线上学习的体会

  线上线下学习在OO课程感觉差异不大,因为大部分内容都是靠自己完成的,讨论和咨询也能通过线上交流解决。

原文地址:https://www.cnblogs.com/doconicu/p/13166612.html