OO第一单元博客作业

一、基于度量的程序结构分析

UML类图
第一次作业:
OO第一单元博客作业_第1张图片

嘛,三次作业有两次没按时完成,接下来就主要分析一下出现的问题吧。

二、分析自己程序的bug

  • 总体来说,在弱测、强测、互测阶段都发现过bug,有的解决了,有的还没能解决。
  • 第一次作业的bug主要出现在特判上面,0这一输入被七个人各测了一次。还有一些问题,不能算是bug,就是性能方面(指程序本身的性能而非题目要求的输出长度),对于Java容器了解还不够深入,没有选择合适的容器,或是没能正确使用容器(这一问题已在第二次研讨课中得到了解答),导致编程速度以及运行时的性能都不是很好(项很多时会合并很久)。而且最致命的问题是各个模块之间的耦合度很高,而自己却没有过早意识到,这是导致接下来两次作业没能完成的最主要原因之一。
  • 第二次作业由于时间比较紧迫,跳过了设计阶段,导致代码整体框架上就出了问题,没在代码中体现出因子、项的概念,只是根据输入强行映射出输出,忽视了面向对象的实质。由于根本没有一个正确、清晰的结构,单元测试也就无从谈起。导致出现bug后,无从排查、定位。
  • 第三次作业由于第二次作业的底子没能打好,选择了彻底重构,抽离出了项、因子、表达式的概念,针对三者之间的关系,甚至想到用状态机解决,但没能成功完成。除此以外,在输入处理阶段也遇到了很大的问题。对于括号的匹配,会出现歧义的问题,也没能想出好的解决办法。

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

没顾得上发现别人的bug

四、应用对象创建模式来重构

  • 在第二次实验课上,对工厂模式有了一个新的认识,对于本章节,应用在因子的创建上,可能代码的结构与可读性都会好很多。即,各个因子继承于一个抽象的因子类,需要实现求导、输出等各种方法。

五、总结

没有对比就没有伤害,看着大佬们在研讨课上分享自己的所得,自己还苦苦挣扎于完成作业,要说内心毫无波澜是不可能的。通过这三次作业,认识到以下几个问题:

  • 一定要勤看讨论区。我所遇到的问题中,超过70%都是可以通过借鉴讨论区中同学们的处理方式快速解决的。
  • 合理规划时间。其实每个人都很忙,也不止这一门课耗费的时间多,尽量提前做出规划,不可半途而废,更不可不战而败。
  • 嘛,继续努力吧。

你可能感兴趣的:(OO第一单元博客作业)