• OO第四单元总结


     

    OO第四单元总结

    架构设计

    第十三次作业需要完成的是一个类图分析器,要分析一个类或者接口,就要分析其属性、方法和与其他类或接口的关系。由于官方代码略复杂,通过实现自己的Uml类将每个element都转化为包含自己需要的属性的类,并以id为key存在HashMap中,根据element的type在遍历所有项时按照类、属性、方法、参数、继承关系、接口、接口实现、关联的顺序建图,便于之后实现UmlInteraction接口中对类图各种信息查询的方法。

    架构总结

    第一单元作为初步学习OO时的单元,实现了多项式求导,面向对象的编程并没有很好地体现出来,也没有设计架构的过程,完全按照面向过程的思路去完成作业。

    第二单元电梯调度,实现了多线程,是个很有意思的单元,架构也很简单,电梯跟调度器各司其职,感受到了面向对象编程的代码的简洁好看。

    第三单元JML规格和第四单元UML,都给出了官方架构,对架构的设计并无要求,主要是算法跟数据结构。

    测试总结

    自己的测试水平十分弱鸡,停留在编数据加已有数据硬找bug,之后学习了Junit感觉略繁琐,对自己而言原始的测试方法效率高一些。

    课程收获总结

    学习oo的过程中程序开始有架构了,且变长了(可能是自己代码写得过于繁琐的缘故)。

    面向对象思维将问题抽象出来了,写程序的思路更加清晰。

    学会了checkstyle,养成了良好的编程习惯,比如能复用的代码部分多写成方法(在代码过长的时候分个方法出来)。

    java多线程的学习过程很有趣,出现了很多令人捧腹的bug。

    奇怪的写代码能力提升了。

    改进建议

    第一单元对我来说过于难了,从面向对象的角度出发一时很难下手,字符串处理也让我抓头。

    三四单元似乎比较侧重考察算法,没有感受到面向对象的魅力。

    实验课没有反馈,一学期下来感觉没做过实验,有几次实验代码阅读量有点大。

    学习体会

    oo的线上学习给予的自由度很高,让人在学习的过程中感到放松和惬意,只是理论课跟研讨课没有线下的那种氛围吧。线上学习似乎同学们跟课程组的交流更多了,感觉老师助教们都十分有趣,学习节奏十分轻快,但有几次作业还是让我抓头,555。很多同学可能都很惋惜一个学期的oo学习就要结束了,不过我没关系,我还有补给站,最大的学习体会就是我要加油。

  • 相关阅读:
    ci上传图片
    Mac下使用svn命令
    linux 下svn忽略文件
    thinkphp5 隐藏入口和支持pathinfo
    ci tp重定向
    php命名空间
    thinkphp5学习记录一
    Mac下安装homebrew
    使用iTerm2快捷连接SSH
    摄影基础
  • 原文地址:https://www.cnblogs.com/nya0/p/13155371.html
Copyright © 2020-2023  润新知