oopre结课反思

oopre课程于昨天结课,在此写一下总结教训

整体架构

架构图

架构解释

  1. 我总共开的类较少,实现的方法较为集成。
  2. 首先是Main负责读取输入并且对其进行简单的拆分处理,然后调用Adventure类里的各个方法。
  3. Adventure是冒险者类,也起到一个中枢的作用,负责与Bottle、Equipment、Food、Store,FightHistory进行互动,以实现各个功能。
  4. Bottle和Equipment各有两个子类,以实现其在使用时的特殊设定。
  5. Commodity是一个接口,Adventure,Bootle,Equipment,Food都是价值体,实现各自getPrice的功能。

架构调整与反思

  • 我的架构从第一次作业开始没有明显的调整,只是对于每个类的方法进行了一些更换以达到作业的要求
  • Main中的输入处理很容易就会产生代码风格的问题(即行数过多),所以我在第二次迭代的时候在Main类中创设了一个新的静态方法已实现输入的分类。
  • 后出现战斗日志后,我选择直接在Main里处理,增设了四个静态方法进行战斗日志的处理
  • 后在学习了继承和接口后,添加了相应的类和方法
  • 最后一次迭代要加商店系统和援助,我对商店实现利用了单例模式,援助系统的实现利用了观察者模式。加了一个Store的类和相应的方法。援助系统我直接写在了Adventure中。

Junit

我在Junit测试方面做得不是很到位,因为我为了达到测试的覆盖率要求只是写了很多重复的test的方法以达到各种覆盖率的要求,但是其实这是违背了test的初衷的,我在后来发现这样做会导致有些中测测不出来的bug在强测里出现。故在以后的课程中,应改变做法,将大体量的数据导入并且考虑一些特殊情况的处理,以达到测试的目的。

oopre心得体会

  • 首先也是老师一直在强调的点,就是思维的转化。从面向过程到面向对象的思维转化。这个我在一开始便特别有注意到,不会像C语言里面在Main里面集成大量的方法,也没有为了一个函数或者方法增加一个类。会很注意方法所放的类的重要性。这个在后面迭代中其实帮我省去了很多的功夫。
  • 其次就是开始编程前的构思。如果一拿到需求就迅速着手,有的时候会写着写着很后悔之前的做法,比如方法放错类,或者是多增了个无用的类。所以在进行编程前,还是要对于需求和已有结构进行分析再动手,效率也会高很多。
  • 还有就是debug方面,可以多用断点调试(这一点是帮了我不少),当然最好的就是好好写Junit,能检查出来很多错误而且效率也高。

一些建议

  1. 课程的内容相较于其一学分来说还是有些多了,可以把学分稍微增加一点。
  2. 有几次的任务量有点多,可以延长课时进行学习。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值