第一次作业
类图
代码分析
第一次作业需要实现的功能较简单,只要实现检查与相加即可。我觉得这次作业只需两个类,一个抽象的逻辑,一个具体实现。
测试
我的程序在互测时发现了在一个多项式时,重复的指数被认定是合法的。经检查自己的程序,原来是对Integer类使用了两处"=="进行比较,一处在自己测试时更改为了"equals",但是另一处忽略了。
第二次作业
类图
代码分析
这一次作业我的Rqueue太过臃肿,对于电梯与楼层的请求处理是不同的,这样将处理交给电梯与楼层类可能更加合适一些。
测试
自己的程序未被发现bug,对方的程序bug树已经满了,看的我心灰意冷。
第三次作业
类图
代码分析
还是我的Rqueue太过臃肿,
测试
发现自己的程序在判断同质请求时忘记打标记,导致可能重复输出。我在交作业前自己测试为了方便对拍忽略了#后的内容,这也反映了我的测试还不够全面。
分析自己发现别人程序bug所采用的策略
主要是大量的随机测试,如果没有问题便读一下对方代码里对于边界情况的处理以及对exception的防范。
心得体会
oo作业每次都要分析功能并且为每个类合理分配,感觉这个分析过程还是蛮有意思的。但是对于指导书中强制要求的类与接口又让自己的想法束手束脚,很不自在。