1.作业架构
oopre的作业整体上是迭代的,每一次会新增一些设计要求。从第一次简单包含Main,Adventurer,Bottle,Equipment等几个类,到最后或为了扩展功能,或为了简化代码清晰结构,而扩充到了近十个类。其中,Main类仅仅承担读入数据功能,所有数据处理与输出均交由相关的类来实现。
最初,我在Main里实现了太多功能,以至于main方法的代码块长度达到400行,这既不优美,也难以维护,想来与预期不符。于是在第四次作业时,我对代码进行了重构。目前,main方法里仅有不到10行内容。
2.Junit使用心得
在历次迭代中,时常会出现bug,此时,Junit确实在一定程度上帮助debug,个人认为比较有用。然而,当设计scanner等的处理时,Junit就有些不方便。
3.学习体会
之前学习的C语言是面向过程编程的,因而在设计之初,我不自觉地把这样的习惯带到了oopre的作业里,结果就是代码的冗长与逻辑的混乱。在完成所有oopre的学习之后,我对面向对象编程有了初步的体会,并且也渐渐学会将这样的思想应用于自己的代码,使项目的完成变得更有条理。
4.课程建议
个人感觉作业最后两次的新内容与作业本身结合得不太好,有些刻意,且应用价值不大(仅针对作业而言)。