第四次作业
第一次尝试多线程,恩,让我没想到的是多线程中使用一些容器会导致一些莫名其妙的异常。在最后2小时发现自己只能通过重写来消除这个bug让人有点绝望。根本原因是eclipse将我的电脑搞崩了,导致我无法提前写。最后的提交的版本还是偶尔会产生异常。教训还是有一些的:首先是老老实实的按照指导书的说法来模拟,一开始期望用来简化判断的方法最后都被推翻了导致浪费了很多时间;二是写多线程是使用容器一定要慎重。
类图
代码分析
测试
对方的程序也是偶尔对经常错,稍一试探我们便产生一种英雄惜英雄的感觉。我觉得这都是多线程的问题,不要在这样严格的要求他了。测试策略基本没有,反正稍一测试便是bug。
第五次作业
恩,这次基本没问题了。虽然觉得文件重命名与移动的判断方法有点蠢蠢的,但是只要按照指导书模拟就没问题。中间指导书改变一次线程的实现要求:按照任务来分线程,感觉让我的代码变得丑了一些,但是后来仔细的分析了一下,貌似这样避免了我之前按触发器分线程的一些bug。
类图
代码分析
测试
对方的快照记录的不是很合理,这也是这个作业的一个难点了吧。
第六次作业
这次的作业还是蛮好抽象的。但是自己的代码忘记在出租车随机游走时判断时间了,每次只sleep(20ms),我还以为200ms就这样短呢。
类图
代码分析
测试
最后我跟测试者和被测者都很快乐。
心得体会
这个三次作业都是多线程,不得不说,多线程中尝试一些的容器让我产生了难以磨灭的记忆。但是我觉得最后两次作业都比之前要好抽象很多,但是相应的测试要很费神,搞得我很懒去测试。
原文地址:https://www.cnblogs.com/PowerofChoas/p/8977804.html
时间: 2024-11-25 17:24:20