OO第一单元总结

OO第一单元作业总结

(一) 程序结构分析

第一次作业

类图

OO第一单元总结_第1张图片

复杂度分析

OO第一单元总结_第2张图片

OO第一单元总结_第3张图片

第二次作业

类图

OO第一单元总结_第4张图片

复杂度分析

 

OO第一单元总结_第5张图片

OO第一单元总结_第6张图片

OO第一单元总结_第7张图片

第三次作业

类图

OO第一单元总结_第8张图片

复杂度分析

OO第一单元总结_第9张图片

OO第一单元总结_第10张图片

OO第一单元总结_第11张图片

OO第一单元总结_第12张图片

(二) BUG分析

第一次作业

出现一个bug,在合并同类项时需要判断x系数是否相等,我在这里用了“==”,而BigInteger是引用类型,导致强测只拿到66分。

第二次作业

出现两个bug,第一个是判断Wrong Format的条件“幂函数指数不能超过50”,我在程序中弄成了合并以后的幂函数指数不能超过50。第二个bug是输出时乘号‘*’的输出情况未考虑清除,原因在于项中不同类型的因子连接关系没有弄清楚。

第三次作业

强测和互测均未发现bug。

(三) 发现别人bug所用的策略

第一次作业,未发现别人的bug。

第二次作业,未发现别人的bug。

第三次作业发现6个bug,自己构造了一些比较完备和刁钻的测试集,手动测试,发现出现bug。

(四) 应用对象创建模式

前两次作业可以说是比较自然的,不需要特别多的思考关于构架上的事情,因此套公式可能是最好的解决办法,每种项都有对应的求导公式,建立对象的过程也比较自然。第三次作业由于加了嵌套,完全套公式的办法行不通了,类中嵌套类是一个解决办法。

(五)心得与体会

pre真的很有用,如果没有pre可能这几次作业完全无法开始,pre对于oo课程像是一把梯子。

过了弱测并不代表能过强测,自己进行较完备的测试是很重要的,我就在第二次作业中吃了亏。

讨论区的大佬很多,他们分享了很多的解题思路和辅助方法,没有他们我不可能比较顺利的完成这三次作业。

学会自己在网上查找资料很重要,很多的想法我都是在阅读前人留下的资料下想出来的。

重构不一定是坏事,后面的两次作业,每一次我都有重构,其实工作量并不大,而且由于之前的基础,重构!=换一道题。如果第一次就安排上了后面的作业才会出现的架构,可能反而会使原本简单的题目变得棘手,甚至可能丢失性能分甚至出现bug。

 

你可能感兴趣的:(OO第一单元总结)