OO课程第四次作业UML暨课程总结

本单元架构设计

本单元作业没有使用很面向对象的方式做,而是在类中维护了很多的数据来做。比如Id2Class,Class2AssociatedEnd,etc。可能是前几单元作业搭的拓展性较好所以加东西不困难。这次第三次作业就体会到了写四次广搜,虽然每一个都不难,连写四个还是比较慌。不过之后想了想,真要OO的去写并不好写。

本单元图的,树的结构比较多,但作业要求的内容其实维护难度并不大,只要懂点算法,数据结构就只用维护最基本的。正常的UML类的关系都是有向无环图,所以维护出边就行,比如接口所有的父类。

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

最开始OO对我来说是一个神秘的摸不到的东西。后来发现大部分的设计都是和直观的对象的划分息息相关。在课程结束之后我重新看来一遍作业讲评,并简单的过了一下设计模式。

第一单元我的做法有点面向过程,就像操作系统类用的不多,但是不代表没有系统性。第二单元自己设计的,但是类职能的做法现在来看并不规范。这两个单元主要是自己设计,单元结束还看了一点优秀代码,最开始ppt里的UML的妙处不能理解,看完代码就理解了很多,尤其在自己之后看了些设计模式更感觉自己设计的垃圾,以及(我课程开始前也简单看过设计模式)最开始看起来莫名奇妙的设计模式原来有这么大的妙处。

第三四单元就变成了填函数可以也可以不设计,我就没设计了。第四单元还有一部分是欣赏课程组代码也学到了很多。

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

理解越来越深,实践越来越迷惑。三单元第一次作业5pts只是因为建了单向边,让我明白实践中别人不会因为你别的地方都没问题就能放过你,关键是问题的严重性。而测试就能把严重的问题都测掉。单元测试在快速开发的时候,很多时候是不做的,靠静态分析。模块测试整体测试一般都会做。严谨的测试任务量直接乘2,完全没有简化的思路,可能因为这样测试是单独的一个岗位。

一个学到的知识是问题总在分支,算法上发生。很有用。

课程收获

在实践中有了理解设计模式的基础。我不细心,完全靠设计支撑代码正确性。感觉现在能逐渐理解设计模式课程帮助很大。

三个具体改进建议

  •  有一个困难的任务可以先让同学们自己先做一次,下一次作业更难一点并可以直接给出测试代码,我们根据测试代码去写功能,体会单元测试的作用。
  • 希望能讲解一些标准库对算法的处理,以及标准库怎么测试的。作业就是在标准库上添加代码。
  • 感觉一二单元对能力要求较高是否可以先有一些铺垫再做。或者提供一个官方框架。

 线上学习oo课程的体会

其实不能面对面的和同学讨论架构有点遗憾,其它也没觉得会和线下有太大不同。

猜你喜欢

转载自www.cnblogs.com/woafrnraetns/p/13162409.html