2025OOpre心得总结

欧阳浩-24371257 2025-11-16 20:48:46

OOpre心得总结

代码架构

img


主要代码架构可以分为以下三层:

  • 管理者层(AdventurerManager):设计AdventurerManager类作为第三方管理,其中包含添加删去物品,fight,购买,雇佣等操作,避免在Adventurer类中堆积过多的方法,便于对adventurer进行管理。AdventurerManager中主要是各个指令对应的方法。
  • 冒险者层(Adventurer):在Adventurer中包含对adventurer属性更改的方法,例如改变魔力值,改变生命值;检查是否是上级,检查是否是盟友。便于在指令操作时直接调用。
  • 物品层(Item):主要设计物品的属性管理以及方法(例如使用等)。Usable与Equipment设计为接口,便于管理方法。Spell,Bottle,Weapon设计为抽象方法,不需要实例化,但是在背包管理时需要使用。

    具体架构可参考上图。

使用JUnit的心得体会

  1. 注意Junit的覆盖率,包括但不限于类覆盖率,方法覆盖率,分支覆盖率等。确保在使用时能够保持较高的覆盖率,尤其时分支覆盖率这种涉及到代码细节的测试,尤其需要审慎考虑。
  2. 利用JUnit中自带的工具灵活构建测试方法,例如@Before, assert等,以及system.out测试打印输出等(虽然在评测机中不支持重定向,但这不影响在调试代码时使用)。灵活利用这些工具可以大大提高debug的效率。
  3. 尝试构建刁钻的测试点,尤其是卡在一些边界情况的样例,这可能比较困难,但这非常利于找出bug,往往能有较大的启发。

学习OOPre的心得体会

  1. 从面向过程到面向对象:之前编写的代码基本都是脚本类型的代码,通过OOpre的学习则对工程化代码有了初步的架构思路,类的构建,方法的设计,以及合理的代码架构都至关重要,这与之前只追求结果的编程思维有较大的差别。
  2. 大量代码下的编程与debug;在代码量巨大的情况下,良好的代码结构与编程规范有助于编程与debug,能够避免反复重构。

对于OOpre课程的建议

可以在开始迭代之前先描述一个整体的世界观架构,例如在第几次迭代我们要实现一个怎样的功能。在对整体世界观有了一个掌握后,可以一定程度上减少重构的工作量。

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

309

社区成员

发帖
与我相关
我的任务
社区描述
2026年北航面向对象设计与构造
java 高校
社区管理员
  • 孙琦航
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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