BUAA_OO第一单元作业总结

一.基于度量来分析自己的程序结构

Homework1

第一次做面向对象作业,经验不足,题也比较简单,就分了2个类:Poly PolyItemPolyItem就解决了大数的问题,把需要大数操作封装在类里,其他代码都写在Poly里。

 

UML类图

 

 

 

方法复杂度分析

比较长的方法是读入和输出部分。

总结

缺点:太多东西写在main里了。

优点:知道要把关于大数的操作独立成一个类,跨出了面向对象第一步。

Homework2

Yinzi类:是以因子为最基本单位,里面有幂指数系数,带符号整数,sincos和符号。方法就多半是get之类的,不赘述。

Stackk类:有个yinziArrayList,模拟表达式。

Main类:有总体流程函数。

总体思路是利用后缀表达式去括号,再把它求导输出。

UML类图

 

方法复杂度分析

 

 

 

 

 

 

 

main里的把输入的表达式转换成后缀表达式的函数太长了!

 总结

缺点:当时时间紧迫,没来得及把一些很长的函数拆开(也是编程习惯差),扣了40分代码风格。

Homework3

重构了代码,分成sin,cos等很小的类的,很有oo的感觉。

 

 

方法复杂度分析

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 总结

优点:方法复杂度分析好看了不少

缺点:还是没养成写注释的习惯

二.分析自己程序的bug

自己一开始没搞清楚表达式中连接的+-号和带符号整数的+-号,导致homework2有一个中测没过。

三.分析自己发现别人程序bug所采用的策略

手动构造一些边界的例子,不像某些评测机大佬那么强,但是自己构造的例子对检查自己的代码也有帮助。

四.重构经历总结

总之就是十分折磨,下次一定在1或2次作业就考虑清楚,分好类。

五.心得体会

寒假的时候没做pre,开学了才狂补,导致第一单元总体完成得很差,pre3也有几题没补完。每做完一次作业,都觉得上次简直是小儿科,这种感觉真有趣。希望oo不挂。

 

posted @ 2021-03-27 19:12  王端锐  阅读(83)  评论(1)    收藏  举报