OOPre第八次作业——博客总结

一、架构设计

设计要求
  • 你将扮演一位穿越到魔法~~(提瓦特)~~大陆的冒险者,在旅途中,你需要收集、升级各种道具,在商店购买或销售各种物品,雇佣冒险者,不断提升自己的等级和配置,体验各种战斗……最终你将学会类这一新的概念、junit单元测试、对象管理、各种容器、正则表达式、简单的调试、继承以及接口、几种常见的设计模式,成为一名有能力踏入OO正课的大二学生……
UML类图

在这里插入图片描述

代码规模

![![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?or

迭代过程
  1. 由于刚学习这门课的时候对面向对象编程十分陌生,所以导致第一次迭代作业很有大一程序设计课的风格,所以第二次迭代作业完全重新写了一遍。后来我被迫意识到了这个问题,在github以及csdn上观摩~~(模仿)~~了几份学长在OO正课上写的代码,逐渐熟悉了面向对象编程,使得自己写的迭代代码具有较强的可扩展性。

  2. 在后来的几次课程中,我逐渐地将所学习到的正则表达式,输入解析,继承,各种模式加入到了自己迭代的代码中,形成了如今的架构设计~~(也侥幸没有体验到强测挂了后熬夜debug的痛苦)~~。

  3. 存在的缺点:在倒数第二次迭代之前,老师讲了接口的概念,但是我考虑到只剩两次迭代了而且担心使用接口后可能会出现意外的bug,当然还有一部分原因是自己懒得改了hhh,总之没有在自己的迭代代码中用到接口,现在想想有点后悔当时没有重构qaq。

二、使用junit的心得体会

junit优势
  1. 与以往在main里写个调用方法的语句来测试相比,junit测试更加便利;

  2. 在后期的迭代中,junit测试代码不需要大改;

  3. 可以精准地定位bug的位置;

  4. 可以通过各种覆盖率量化自己的测试成果;

  5. 将测试代码与源代码分离,这在实际工作中应该是一种非常有效且必要的要求。、

junit注意事项
  1. 努力记下各种断言函数,如assertEquals,assertNull,assertTrue等;

  2. 测试应该从最基本的单元开始,比如应首先测完ReinforcedBottle类后再测试Bottle类,或者方法A调用方法B,则应先测试完B再测试A;

  3. 测试数据应该全面广泛,尤其应该尽可能地将各种分支都覆盖,做充分测试。

三、 学习oopre的心得体会

  • 第一也是最基本的就是学习到了许多面向对象编程的基础知识、学会了java的使用,初步实现了从面向过程编程到面向对象编程的过渡;
  • 虽然这门课是用java写作业,但是因为教的是面向对象的知识,也让我写的其他语言比如cpp以及python的代码更加规范科学;
  • 这可能是我第一次在课内写这么长的代码,使我更加熟悉了如何很好地写一个超长代码量的程序;
  • 以往自己写程序总是不注重代码的风格,就导致了写的代码的解释性非常差,由于这门课有对代码风格的强制检查,所以我的代码风格有了很大的改观。

四、建议

  • 由于这是大多数人第一次接触面向对象语言,很多人在迭代的过程中总是会让自己的代码变得越来越乱。我想在明年的oopre课程中,可以给学弟学妹提供几份我们这一级的优秀代码,供他们参考~~(如果以后每年的oopre的作业是一模一样的当我没说这个建议)~~
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值