OO第一单元总结

  经历了四周OO的第一单元终于告一段落,在这一阶段的学习中自己确实打开了面对对象的大门,在渐渐从面对过程的思维中转变,而且自己对继承与迭代的设计有了更深的思考与重视,很大程度上也是因为这是自己目前依旧极度缺乏的。当然更遗憾的是自己没有通过第三次作业的中测,这也更加警醒自己需要通过更多的训练完成对课程的学习。

 

(1)基于度量来分析自己的程序结构

由于自己第二次作业完全基于第一次作业上修改的,因此主要分析第二次作业的问题,也能看出自己没能通过第三次作业的原因。

 

第二次作业类复杂度分析:

 

 

第二次作业方法复杂度分析:

 

 

第二次作业类图:

 

 

 

在第二次作业的过程中自己在构造上依旧存在很大问题,自己没有将因子分类,缺乏继承与接口模式,也导致了第三次重构的工作量较大。

 

(2)分析自己程序的bug

第二次作业中的主要bug是自己对输出结果的处理存在问题,忘记在常量项与变量项之间添加“+”;

另外一个问题就是在没仔细看指导书,自己在将同类因子指数相加之后再进行判定,因此指数界限的判定出现问题。

 

(3)分析自己发现别人程序bug所采用的策略

在分析别人bug是由于测评机存在时间限制,因此自己将自己在解题过程中发现的问题以及一些样例提供给整个ROOM的人测试,

比如在第二次作业中自己就主要对符号判定以及较多因子项的求导进行了专项测试

成功hack之后自己会将hack对象的代码解析一遍,一般还会有所收获(这么做好像有点坏)

 

(4)应用对象创建模式

第一次和第二次作业都是没有很好的利用面对对象的特性,导致无法在原来的基础上进行迭代,到时重构第三次作业进度很慢并且还出了很多bug,并且完全忽视了对对象创建模式中的工厂模式的使用,给自己增添了更大的负担

 

(5)对比和心得体会

自己的代码再设计是结构变不太清晰,在架构时缺乏深度的思考,而是直接按照以前的思维模式直接动手在一点一点往上面一味的加东西,而忽略了设计思路的重要性。还有就是自己在设计时完全没有考虑优化的问题,导致程序性能不高。另外自己的debug缺乏系统有效的手段从而导致效率极低,这都是自己需要改进的地方。

posted @ 2020-03-21 20:17  明天星期六  阅读(143)  评论(0编辑  收藏  举报