2023BUAA_OOpre_hw8(总结反思)

张珺强-22373215 学生 2023-11-07 23:02:26

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课程能越办越好,继续帮助之后的学弟学妹步入面向对象编程的学习。   

 

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

301

社区成员

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

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