2023秋oopre总结

尹祺霖-22371157 学生 2023-11-08 15:39:05

1.最终架构与设计

我的最终的架构是主函数Main用于读取输入的信息,然后将info传入loop类中的loop方法,这个方法负责读出哪种操作并且将line分解成对应的操作需要的信息并且引用option类中对应的方法,option类中包含了HashMap的冒险者类用于存放冒险者和fightstep用于存放战斗步骤,冒险者类包含了各种操作和方法也包含了对应的bottle,food和equipment等,然后Store作为一个类包含了三种东西的Array list其中的方法用static修饰,对于战斗而言的话是在冒险者类中存放了fight类。
在迭代的过程中,在开发过程中经历了三次重构,第一次是因为自己写了读入的函数而没有办法写测试文件导致重构用了作业中的方法,第二次是本来写了一个类专门用来读入,觉得没必要且测试文件不好写就删除了,第三次是因为写战斗的那次的读入不合理而重构了读入的部分。感想是设计的时候也要同时考虑测试时的方便程度以及分板块开发,前三次写的实在是过于丑陋了。
架构如下:

img

2.Junit的心得体会

Junit可以让我们对于每个小的模块进行输入输出来检测其正确性,这在大型项目开发的过程中debug时是非常必要且高效的,虽然我一般是用MainTest选择一个比较全面的数据点进行速通,debug的时候也更习惯于学c的时候所用的方法,但是这只适用于非常小的项目,而针对于真正实践应用中的大型项目的时候非常愚蠢,比如会扰乱源码结构,低效等等问题,因此使用Junit可以给我们走上真正实践大型工程铺平道路。

3.学习oopre的心得体会

学习oopre让我印象最深刻的一点就是private,如果是c语言我一定会图方便写个public完事,但是我想private也是以后开发工程最基本的原则,封装不仅是权限的安排,也是让我们的结构更加独立,各个模块各行其职。

4.建议

增加学分,1学分太少了,体育都有0.5学分呢。
公开的数据点可以更具代表性一点。
每次作业后都可以发一些好的架构供参考。

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

303

社区成员

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

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