242
社区成员




1.最终架构设计
迭代中的架构调整与考虑:
最终我并不知道一个类最多只能有500行,所以只有一个MainJoker类进行操作是不够的,我又添加了一个类MainJokerFirst,用来进行后续十几条指令的操作。
同样是不知道类行数限制,导致我的Adventurer类的行数也超过了500行。经过考虑后,我又添加了BottleOp和EquipmentOp两个类,将冒险者的药水瓶、装备和与之相关的方法都放在了这两个类中,这样大大减少了行数,同时也让架构更加合理,避免了在Adventurer类中写过多对Bottle和Equipment类操作的代码。
对Shop类,我选择了单例模式来实现,并采用了“懒汉式”初始化的方法。
2.使用junit的心得体会
在完成hw的时候认识到了junit的关键性,通过测试可以极大地提升debug的速度和效率,减少了许多耗时耗力的纠错过程。同时,junit也培养了我对代码进行单元化测试的意识。
3.学习Oopre的心得体会
在第一节课上,我难以理解“面向对象编程”这个概念,因为在之前的C语言学习中,我习惯了构造函数和全局变量来编写程序,思维一定程度上已经固化。在之后的学习和迭代练习中,我才逐步理解了“封装”、“继承”、“多态”等一系列概念,并开始对作业中要实现的要求有了自己的理解。
在第一次hw时,我交上来作业,却发现代码风格分得了0分,我才意识到好代码风格的重要性。最令我痛苦的是的某次写完hw后,我发现有个方法超过了60行,导致我整个层次架构都必须改变。在之后的hw中,我都十分在意每个类和方法的行数,避免超过限制。
在之后的OO正课中,我会十分重视代码的架构设计。好的架构不只是好的代码的必要条件,也是一种艺术。
4.建议
(1)学分与任务量严重不成比例,建议提升学分。
(2)有几次作业的指导书出现重大问题,没有向学生们说明极端情况如何处理。希望完善指导书中对作业要求的说明。
最后感谢吴老师和助教们的付出,希望Oopre课程能越办越好,继续帮助之后的学弟学妹步入面向对象编程的学习。