一、架构设计
最终架构
迭代过程
- 创建Main,Adventurer,Bottle,Equipment,Food,Bag等基本类,并用容器做好管理
- 学习正则表达式匹配,新增FightLog类记录战斗情况
- 以Bottle与Equipment为父类,依据继承关系新增6个子类
- 根据price的性质引入Commodity接口,并在Adventurer,Bottle,Equipment,Food类中重写其方法
- 引入单例模式Shop类,实现物品的交易
待优化之处
- 对输入解析处理不够好导致Main类冗余,可再增一个类处理输入
- 没有充分利用继承关系,一些可合并的方法停留在子类层面,导致代码复用程度低
- 战斗模式中的援助可以采用观察者模式,善用前人总结好的模式可以使架构更合理清晰
二、junit使用心得
由于每次都是看到中测过了再着手应对junit的覆盖率,确实没有什么好的心得体会。但我也意识到自己debug手段的局限性(print加的太多删不过来了),junit跟co中的tb一样将源代码与测试分离,还能精确定位测试疑似有bug的方法,我应该加强对它的学习和利用。
三、学习oopre的心得体会
-
作为一名编程能力很一般且不知面向对象为何物的纯小白,这门课特别是每次的指导书和贴心的助教确实帮了我很多,十分感激!!!(
还记得第一次作业看到三份.java文件我以为是三道独立的题让我们找bug) -
初步学习了面向对象的封装、继承和多态性,我似乎认为它相比面向过程更贴近人的思维方式
-
第三次作业面对千行强测找了一下午bug和第七次作业面对未公布中测手足无措这两次经历让我感受到掌握更多调试手段和学会写数据生成器的必要性
四、对课程的简单建议
-
希望第一次配环境介绍工具的指导书可以更详细一点,可以先列个总清单让同学们清楚总共要安装的软件和注册的账号有哪些
-
希望再增加一点对junit的讲解