多线程踩坑の再体验
project 5
度量分析
类图
程序分析
这次程序出了很多bug,原因自己也很清楚,就是把第三次作业整个打包继续使用了。设计过于臃肿,多了很多重复判定,后期反复修改不得正确,特征是捎带请求总是被忽略。设计上共享数据处理不太好。至于互测的代码,从他的代码风格之优秀,输出处理之优秀就可以看出是个大佬,测了测重要的几个点就算是给过了。
project 6
度量分析
类图
程序分析
过于注重程序过程而忽略了输入处理判断,公测挂了几个点,但是对于互测扣的点我是都不认同的,根本不是设计上的错误,而是拿指导书模糊的点来扣分,也懒得申诉了,不是很明白为什么总要扣一些这种测试点。互测到的代码倒是有很多bug,读了读代码,大概就知道了哪些地方设计的不合理,基本一抓一个准。尽量聚合了同性质的扣分点。
project 7
度量分析
类图
代码分析
这次作业没有什么难点和坑点,最短路径算法也给了,思路很清晰。这次作业互测也很难,大家都友好了许多。没有被测出bug,也没有发现别人bug。这次测试的代码是我这门课六次测试中见到过最优秀的代码,只是指导书很简略只能给个一般。如果把代码中一些注释写在指导书里肯定会更优秀。
体会心得
对于多线程终于不像第四次作业一样无从下手的感觉了。
正当我沾沾自喜自以为理解了多线程真髓之际,第八周课上测试给了我重重一击。多线程的锁好难!好难!好难!以前的作业原来并没有正确使用锁。。。