2020-oo-第一单元

1、第一次作业

作业类图如下:

 

 复杂度分析如下:

 

 

 在这一次作业中,我分别建立单项式类用于分割出系数和指数、多项式类用于合并同类项、主类用于分析表达式和输出结果。在复杂度分析中,分析系数(AnalyseCoe)这一方法复杂度较高。原因是它多次用到主类正则分析的结果。这次程序相互间耦合性过高,应提高各个类之间的封装性。

bug分析:

自己:由于对题意的错误理解,误以为式前的符号代表了整个式子的正负,故出现了较大的错误。

他人:通过构建测试用例,发现他人的错误主要原因是括号的解析,还发现由整数前导零未处理好导致的错误。

2、第二次作业

类图如下:

 

 复杂度分析如下:

 

 此次作业基本沿用上次的思路。新增了一个key类用来表示幂函数、sin函数、cos函数的三元组,便于合并同类项,其余各类作用与第一次类基本一致。在复杂性方面,方法的复杂性仍是由于与其他类之间的耦合度过高,导致封装性不好。本次作业的另一难点在于正则表达式的使用。在完成代码最终测试的环节中,我发现自己的输出驴唇不对马嘴。原来在对输入进行正则解析的时候就出现了问题,而耦合性过高的缺点也在此时完全暴露:我其他的方法多次使用了正则解析的结果,随便一点正则表达式的改动都会导致整个程序的大规模改动。就这样,在心态的崩塌中我的第二次作业未能及时提交,故此部分没有bug分析。

3、第三次作业

本次作业我抄袭了github上的代码。窃取他人的劳动成果是对别人的极大冒犯,也是对课程规则的破坏,对自己的学习更是毫无益处。在此向被抄袭的同学、oo课程组全体老师和助教、班里的所有同学表示抱歉。

4、反思与总结

畏难心理人人都会有,但是强者应该冷静客观、积极寻找解决问题的方法,而不是抱有侥幸心理,自甘堕落。基础差不是学不好的理由,自我放任才是。我会吸取教训,努力完成接下来的学习。

 

posted @ 2020-03-21 13:34  柒一零10  阅读(233)  评论(0)    收藏  举报