OOPreFinalWork

前言:

在2023年的11月3日,我们的面向对象先导课程就已经结束了,首先非常感谢老师和助教们一路以来的辛勤工作和对我的帮助与指导。第八次作业的提交形式是写blog,我的blog内容主要简单分为作业回顾、Junit使用体会、oopre学习心得以及对oopre课程的建议。

一、作业的架构迭代与最终架构设计

回顾前七次作业,除了第一次和国庆结束后的改错作业,都是迭代完成的。我个人觉得,在迭代过程中,我的工程代码变化最明显的就是,我的Java类变得越来越多。从一开始只有Main.java / Adventurer.java / Bottle.java / Equipment.java四类,到下面的很多Java类文件。

        但是,事实上我的第一个觉得需要改进的地方就是,我的类还是太少了。就像老师讲过的,我的Main类所承担的责任太多了,导致我的Mian类太臃肿。像其中的读入数据、对数据的操作(数据操作也需要根据不同的指令分成几十个方法,这样会比较简洁,即避免了过长函数)都完全可以各自分成一个Java类。

        其次,我觉得我应该将我所构造的方法命名进行合理规划和功能上合理嵌套。比如在对bottle进行删除时,可以分为untake(从背包中删除)和litter(从冒险者、背包、价值体都删除,这样子封装成一个方法,也可以避免数据泥团造成的修改遗漏),同时,对于丢弃指令和使用指令造成的对物品的删除,我们应该将其解构成输出&删除(直接引用前面两方法即可)两部分,这样可以避免在多处写了删除功能的内容,即避免重复代码,这样在之后修改时也不会需要在多地修改而引起的遗漏。最后,我认为,在新建一个类的时候,我们应该提前为其的private属性构建好访问、以及修改函数,而不是在需要使用时而进行添加,这样容易打断个人编程思路,造成不必要的失误(起码我是这样的)。

二、Junit使用心得体会

        对于Junit,我是又爱又“恨”,想必很多同学和我都有一样的想法。首先对于爱,junit是一个非常好的对于小方法或者单元进行测试的工具,这毫无疑问是非常有实用性的工具,我们可以利用它测试任何我们需要测试的。对于Junit,我也非常认同需要牢固掌握其的使用方法。其次,对于“恨”,无疑就是在高高兴兴通过了中测之后,还需要回过头花大把时间写Junit,直到符合覆盖率需求。所以,恨的就是Junit给我们的作业带来了更多的工作量。总而言之,对于Junit,当我已经完成了七次作业后,不难理解了之前我所认为的的强制性折磨人的要求,让我牢固掌握了编写Test以及junit的能力,一个十分有意义的能力~~~

三、oopre学习心得与体会

        经历了这么多周的oopre学习,可以说,我的最大收获就是,通过这一门课,我不仅完成了Java语言的学习,以及面向对象编程而不是面向过程编程的思想的进阶,还有各种工程化模式的认知。这些无疑都极大地提高了我的代码编写还有debug能力。

        对于面向对象编程的思想,我觉得不难理解,毕竟我们建的除Main类以外的类,基本都是所谓的对象,比如Adventurer什么的,都是实打实的对象,在对象之下,定义了这个对象所拥有的属性和行为。同时方法的编写,也就是在方便我们(类似一个Java世界的上帝)能够随意的创建拥有不同属性的对象,以及命令该对象完成一些行为。但是,我个人认为,面向对象编程,并不意味着没有过程的设计,毕竟只是“面向”,我们在Main类或者其他类,都有针对过程编写的代码。我想表达的就是,我们在学习面向对象编程的思维时,不要钻牛角尖,要区分是针对对象设计是主要,还是针对过程是主要,但是两者是相辅相成的,并不是有你无我的矛盾关系。

四、对课程的建议

        建议:希望可以多加点关于Java语言的各种常用函数和C语言类似功能函数的比较,这样上手起来会更容易一些~~~

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值