OO第四章总结

一、总结本单元两次作业的架构设计

这两次作业架构类似,先把输入的各个元素的id引用关系重建为对象间的关联,然后分析各种指令需要获取的信息,从重建的结构中提取。

其中,针对类或接口的继承、实现,状态图的后继查询,重复继承的检查,采用了广度优先遍历的方式,为此还封装了一个迭代器用于进行遍历。(虽然封得并不好,第二次作业为了支持各种特殊遍历方式加了一吨标志位。)

三、总结自己在四个单元中测试理解与实践的演进

第一个单元中,我主要是手动测试,此时主要情况不多,手动构造的样例覆盖面尚够,没出现大规模翻车的情况。

第二个单元中采用了一些自动化测试的手段,但数据仍然是手动构造的,漏掉了一个关键的情况,在换乘逻辑中出现致命错误,强测喜提0分。

第三个单元测试方式仍是自动化,测试数据用自动生成常规数据、压力数据和手动构造边界数据、易错情况相结合,在第二、三次作业表现良好。第一次作业中,受谭浩强式qsort的影响,忽略了整数相减溢出的问题,挂了几个比较路径大小。

第四个单元有所疏忽,烤漆压力下没有设计充分的测试,出现了关于Endpoint算不算时序图参与对象的问题,挂了一个点(说起来这种bug居然只挂了一个点)

四、总结自己的课程收获

之前写程序通常行数不多,逻辑简单,拿到题莽就是了,在OO中,架构设计变得重要,写程序之前需要先用一段时间思考设计哪些类、类之间的关系是什么。此外,OO还锻炼了我的写码速度、抗压能力、风险承受能力等。

五、立足于自己的体会给课程提三个具体改进建议

我的心中有两个愿望,一个是指导书能写得清晰一点,另一个也是指导书能写得清晰一点。

posted @ 2019-06-23 22:25  rMuchan  阅读(120)  评论(0编辑  收藏  举报