BUAA-2023秋-OOPre总结

本文分享了作者在项目中进行架构设计,特别是使用Java进行类设计和继承,以及使用Junit进行单元测试的心得。同时提到OOPre课程对面向对象编程的理解提升和硬性编码规范的影响。作者建议在初期教学中加强基础知识的引入。
摘要由CSDN通过智能技术生成

目录

一、架构设计

二、Junit心得体会

三、OOPre 心得体会

四、简单建议


一、架构设计

1.我的类(class)和接口(interface):

下面展示我在最后一次迭代作业中的class和interface,看似有好多类,但其实RegularBottle、ReinforcedBottle、RecoverBottle还有RegularEquipment、CritEquipment、EpicEquipment都是对于Bottle和Equipment类的继承。

2.我的架构图:

 3.调整及理由:

在最初的几次迭代开发中,我把大量的代码放入到Main类中,只有少数几个其它的类。后来随着要求实现指令数的增多,每个类和类中包含的函数代码行数增多,可读性随之降低,而且不符合checkStyle的检查风格。最后我将Main类中包含的许多功能分离出来,建立了Begin类用来读入,Operate类用来具体实现每条指令,用Adventurer类连接Bottle、Equipment、Food类,并建立Shop和Factory类配合operate类,使得每个类的功能更为清晰,而且不会超过500行的限制。

二、Junit心得体会

1.Junit在迭代开发过程中,特别是在代码数量非常多的情况下,对于找出隐藏的bug非常有用,可以自己构造数据点,利用assert等来判断过程中是否进行了正确的处理。

2.每次作业都对Junit的覆盖率设置硬性要求,确实加重了每次作业的任务量,但也使得我更熟练地使用Junit进行测试。

三、OOPre 心得体会

1.经过大二上学期的OOPre课程的学习,我从一个对Java毫无了解的小菜鸡,变成了一个稍稍了解Java语法、容器、单元测试的萌新。此外还对与gitlab等有了一定的了解。

2.之前接触到的编程只涉及面向过程编程,转变到面向对象编程确实有点让人迷糊,所以吴老师也嘲笑过我们写的作业不过是用Java写的C程序。但是随着练习的增多,对于不同类的功能的设计,以及对许多模式的了解,我对面向对象编程越来越了解,并发现了面向对象编程的好处。

3.在OOPre课程中,对于每个类和方法都有代码行数限制,虽然在许多时候让人感到厌烦,但是在未来的工作中这些都是硬性要求,感谢OOPre课程提前锻炼我们这方面的能力。

四、简单建议

1.可以在前几次课上多涉及一些基础知识,像我这样之前没有接触过Java的同学,在最开始的学习感觉太痛苦了QAQ。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值