2023oopre结课总结

徐子峰-22373486 学生 2023-11-07 21:02:56

2023oopre结课总结

——22373486徐子峰

 经过艰难且充实的五次迭代作业,2023oop课程也顺利结束。经过九周的对于面向对象编程思想的学习,我可以说是收获良多。下面是一些我对于oop课程的体会与总结。

1.作业最终的架构设计

 

 1.第一次迭代中构造了Main,Adventure,Bottle,Equipment类。构造了最初的架构,这也算是我第一次写java程序,后面也陆续发现第一次作业中存在的诸多问题,例如main类里没有进行最简单的指令分配,导致main方法行数过多、各类中方法命名不够合理等。

2.第二次迭代中新增加了Food类,同时引入了背包的概念,也在这次作业中第一次接触到了Junit。个人感觉还算容易得一次迭代,也没有发现过多bug。

3.第三次迭代中需要对输入数据进行预处理,一开始我的预处理都在main方法中进行,但是受到了checkstyle的制裁,于是新建了一个方法来进行数据预处理。

4.第四次迭代中引入了继承与封装的概念,于是我在Bottle和Equipment下分别新建了三个子类分别继承Bottle和Equipment的属性,同时新建Commodity接口,并让作为价值体的Adventure,Bottle,Equipment,Food类实现接口,以便于统一计算其价值。

5.第五次迭代也就是最后一次迭代中,我新建了Shop类,用来处理冒险者与商店的交换行为以及买卖行为。

2.使用junit的心得体会

junit的学习可以说是一次新的体验,自己构造的Junit测试数据可以测出一些bug的位置,但有时候过了中测发现junit没过再去自己构造好多数据点真的蛮折磨的。同时在写junit的过程中,也会发现一些代码的不足,从而可以进一步改善代码,提高代码质量。也可以在构造数据的过程中熟悉代码各分支的作用,检查代码中有无少构造的分支的等等。

3.学习oopre的心得体会

经过oopre的九周学习后,我对面向对象编程思想有了进一步的理解。我写的代码也逐渐从逻辑性差,方法分工不明确一点点像面向对象的风格转换。开始将功能分配给各个类各个方法实现,并将相同的方法采用接口实现,一点点提高了代码的可读性与质量。并且,oopre课程的作业也进一步训练了我的debug能力,每次中测过了但是强测挂了之后对着一千多行输入输出找错误真的是难忘的体验,通过oopre的debug训练,我也可以更快的定位到错误的位置,同时也极大提高了我debug的耐心。

4.对oopre课程的简单建议

1.希望可以提高一点中测强度,每个中测数据基本只针对一个点,导致很多时候测不出代码的错误导致强测挂掉,de强测的bug真的痛苦

2.希望可以适当放宽checkstyle对于行数的要求,后面代码超行数之后需要进行额外的操作来处理,反而并不是很符合个人的代码风格。

最后,真的感谢oopre这门课,真的让我收获良多。同时也感谢老师和各位助教大大的辛苦付出,也祝oopre这门课越来越好!

...全文
29 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

242

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象程序先导
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧