OO补给站总结

补给站作业-HW3、HW7

(1)对于当时没通过的每次作业,描述当时遇到的困难和无法完成的原因; 

  HW3:嵌套处理,对对象关系的处理。

  HW7:换乘处理不当,无法完成后半段运行,且停止电梯终止程序运行处理不好。


(2)现在补的每次作业,有哪些针对性的改进,包括设计、算法和难点的处理等;

  HW3:重新设计,通过接口和抽象类等方式,来进行计算存储与相互调用嵌套。
      通过isFinal等等,来保证递归的终点问题;通过增加括号与输出前处理,使得输出符合基本要求,可以被解析。
      通过二次求导,来排查自己设计中的问题(比如排除WF等等)

  HW7:主要设计了Person extends PersonRequest来负责换乘,便于进行换乘。
      同时,通过一学期的学习后,在多线程的理解上有了一定的认识,使得多电梯和加电梯处理更好一点。
      最后,以控制器电梯队列等等分开的方式,让结构比之前更清晰了一些。


(3)通过补给站的讲解,有哪些新的收获和进步。

  通过补给站,首先我完成了这两次作业(尽管很辛苦orz)。下面分两次作业来说一下收获:

  HW3:首先是面向对象的设计。我在传递求导结果的时候采用了String的方式。老师建议依旧是传递类,在输出的最后一步再利用toString方法转化成为字符串输出。这样也更利于之后需求的拓展与化简等等。
  然后是设计思路。我一开始设计的时候经常过度关注于细枝末节的问题,最终导致思维混乱难以完成任务。在讲解中,老师引导我从顶层来考虑设计,最终使得我完成了程序的设计。

  HW7:主要是多线程的设计的注意事项。一方面,我现在的实现形式不便于动态电梯换乘,而换乘表等方式可以使得换乘与乘客相对解构,便于之后的设计。另一方面,我设计的时候采用了处处加syncognized的方法,而通过老师的讲解,我认识到合理加锁的重要性--不合理加锁会使得多线程变得效率低等等。

(4)对补给站组织形式有哪些建议。
  我个人还是比较认可补给站的组织形式的。不过我还是认为,我们可能主要获取帮助还是在课上,在课下遇到困难还是以闭门造车为主。希望还是能增加答疑的次数等,以及能针对完成一部分的代码先进行答疑或者建议,可能能设计的更好一点。


(5)心得体会。
  进入补给站,我个人还是对正课留有遗憾的。不过通过补给站,我也提高了自己的编程水平,也通过老师的指点,进一步学习了面向对象的知识与方法,也用更多时间来仔细的反思了自己的代码。对于个人来讲,补给站课程还是比较紧张。一方面,我作为选修课程,希望还是能善始善终。另一方面,补给站都是之前啃过的硬骨头,我又是都采用了完全重构的方式来解决问题,就导致我一上来就面对了每个单元最难的作业,在思路整理等等方面都有一定的困难。在这个过程中感谢讨论区的经验、老师之前做的作业点评和正课期间老师和助教的个性化的帮助,这些都帮助我完成了这些作业。但是也暴露出,我在自己进行测试上依旧有提高空间,这也需要我之后进行练习与实战,做到能写代码也能测代码。

原文地址:https://www.cnblogs.com/kongyou/p/13475973.html