一、基于度量分析自己的程序结构
第一次作业
UML

第一次结构非常简单,Item是对分好项的处理,DerController是为后面准备的。
复杂度分析

Expression复杂度高是因为它将输入的表达式字符串进行匹配处理并拆分并储存表达式信息,完成了大部分任务。
第二次作业
UML

复杂度分析

大头依旧是Expression,仅仅增加了乘法对整体没有太大的影响,所以修改的不多。
第三次作业
UML

增加了CompoundExp ,可以说是进行了两次表达式处理,但好像不太成功。
复杂度分析

二、分析自己程序的bug
第二次作业出现bug是因为未理解透符号,将+-+错误判断,修改了符号错误判断;
第三次作业未通过中测,是因为表达式处理出错,分析正确一种,另一种又分析错误,永远有漏洞
三、分析自己程序别人程序bug所有方法
自己1、边界数据 2、指导书数据 3、对拍
别人1、边界数据 2、对拍中自己bug的数据 3、随机数据
四、应用对象创建模式
非说一个模式的话,我的三次代码更贴近组合模式item ,items ,exp类作为组件,items保存多个item类的实例,exp类保存多个iyems类实例在求导时调用exp对象的der方法进而调用items,item类的求导方法,并对结果进行组合整理再依次返回。
五、对比和心得体会
第三次代码印象深刻,别人的代码思路清晰,顺流而下,将数据处理的非常好,一看就是构思了七七八八才动的手,不能再有一点思路就动笔,应该考虑方方面面,有了一个相对清晰的轮廓再下笔。
经过这一单元,我对面向对象有了更深刻的理解,程序风格也有了明显的改善,但前期准备还是不足,与优秀的同学还存在着不小的差距。希望在接下来的学习中,能够不断加强自己的编程能力,进一步加深对面向对象的理解。
浙公网安备 33010602011771号