第四单元总结

本单元作业的架构设计

容器的选择

本单元有许多类型的数据,我为每个数据类型都分别建立了一个HashMap容器,以此实现利用id找到对象的功能。为了实现查询是否有重名的功能,我还建立了name到对象的HashMap容器,在实现后续功能时,有时需要利用name查找对象,也可以利用该容器。

查找关系的选择

在本单元的作业中,频繁有查找关系的需求,如查找某个类的方法、查找某个类的属性、查找某个类的子类或父类。由于本单元不再卡运行时间,对于该类行为,我采用循环查找的方式进行,遍历某个数据类型的容器来找到需要的。

图算法的选择

几乎每单元都会涉及一点点有关图的算法。本单元最后一次作业中有查找环路的需求。我选择了dfs算法进行查找,其中自己继承自己也算环路需要特别注意。

架构设计思维及OO方法理解的演进

架构设计思维

第一单元的主要任务是处理和解析表达式,主要的算法是递归下降。将算式划分为表达式、项和因子三个等级,逐层下降进行递归解析。在该单元的学习过程中,我对架构设计的重要性有了初步的认识,认识到好的设计和架构无论是对于代码的编写还是对于代码的维护都有着很大的帮助作用。第二单元的学习内容是多线程,在该单元的作业中,我采用的是生产者-消费者模式,调度算法选用的是Look算法,架构与设计在该单元中同样非常重要。好的设计与架构不仅会让思维和逻辑更加清晰,编写代码时可以更加顺畅丝滑,也会提高代码的可读性,让后期维护时至少自己可以看懂自己的代码。

经过本学期的学习后,我充分认识到了架构与设计的重要性。俗话说,工欲善其事必先利其器。我认为代码的编写也是如此,好的架构与设计是成功的一半,应当在动手编写之前就确定下来,这样也可以起到一个指导和大纲的作用,有助于编写过程的顺畅。

OO方法理解的演进

本课程是面向对象编程与设计,面向对象的思想与方法是本门课重点培养的能力之一。早在课程开始时,纪老师就讲过,面向对象的思想是比较符合人们日常行为的思想。在学习过程中,我也深切体会到了这一点,面向对象的思想可以让问题变得不再非常复杂和抽象,可以使其变得比较符合人们的正常的思维。

在学习的初期,我认为我的写法属于披着面向对象外皮的面向过程写法,并没有将面向对象的思想落实到实处。随着学习过程的推进,我开始逐渐体会到面向对象思想的应用,每个部分各司其职,互不干扰,用起来是十分地方便,代码的美观度和可读性也有大幅度的提升,可以说是尝到了面向对象的一点甜头。希望在以后的学习和生活过程中,这种面向对象的思想可以从oo课中跳脱出来,被应用到更多的地方。

测试理解与实践的演进

测试理解

测试是编写代码过程中重要且不可或缺环节。这一点在上学期的计组课程学习的过程中我就深有体会,在本学期oo课程的学习过程中,我加深了对这句话的理解。完成代码的编写并通过中测后,大概率不能证明代码没有问题,可以顺利通过强测。在实际的生产实践中,测试也是非常重要的环节,只有产品经过了较为完备的测试,才可以放心地交到顾客手中。

在本学期的课程学习过程中,测试环节我一般会采用和小伙伴对拍的形式进行。由数据生成器生成若干数据,和几位小伙伴一起比较输出。在对拍的过程中,有小伙伴陪伴,也算增添了一点乐趣。

实践演进

实践一直是本门课程的重点,实践是检验真理的唯一标准,实践也是测试知识掌握情况的有力手段。

在学习初期,我对作业有一点畏惧和逃避的心理,总是拖到不能再拖的时候才开始工作,熬夜伤身体不说,过程也十分的仓促,难免会出一些问题。随着时间的推进,我觉得总是熬夜也不是长久之计,便将开始的时间提前,这样在编写的过程中也不会很仓促和慌张。随着学习和实践的深入,我熟悉了工具的使用,并发现了很多比较方便的功能,这算是实践的额外收获。

无论是学习还是生活,实践往往是最为重要的环节。如果其他环节做的都很优秀,却在实践这里拉了跨,就会荣获纸上谈兵的光荣称号。我认为,未来的技术型人才,不单单要掌握很多理论性的知识,更为重要的是要做到知识的有效转化,能够做出实际的东西,才算比较合格。

课程收获

  • 学习了java语言的基本语法和用法。
  • 初步认识和理解了面向对象的思维和方法
  • 认识和体会到了架构与设计的重要性,有了设计的意识
  • 学习到了一些有关测试的知识和方法,提高了测试代码的能力
  • 接受了挫折教育,提高了抗压能力和心理素质。

三个改进建议

  • 可以调整一下四个单元的顺序,我认为目前的第四单元应当是第一单元,而目前的第一单元对于刚接触课程的同学来讲,难度稍微有些大,可能会打击部分的同学的自信心。而目前的第四单元可以让同学们加深对基本概念的理解,也有助于难度的梯度性。
  • 每次实验课可以增加一些反馈,课上或课下均可,这样同学们在提交后可以知道自己的提交是否正确。
  • 第三单元可以尝试让同学们自己写jvm规格,但如何测试正确性有待商榷。

写在最后

在刚开始学习这门课程时,总以为一学期的学习过程很漫长,但现在回过头来看,觉得本学期的学习如白驹过隙,过的飞快。在学习的过程中,遇到了很多困难,但也算走完了全程,学习到了一些东西。十分感谢在本课程中辛勤付出的老师和助教,也十分感谢在学习过程中给予过我帮助的同学。

posted @ 2022-06-29 10:28  Natt1e  阅读(12)  评论(0编辑  收藏  举报