zoukankan      html  css  js  c++  java
  • G4&Sui老师的pair project(197&)

    在做的云里雾里的individual project之后,这次的pair project让我开始找到了一下软件工程的感觉!其中原因除了C#能稍微捯饬明白了,还有就是合作的力量。

    本次结对编程进程:

    10.10~10.15 G4和Sui老师各自下载elevframework,尝试读懂代码

    10.16~10.19 G4和Sui老师经过交流,发现大家都没怎么读懂框架,但是大限将至,继续读代码的同时也要想算法,Sui老师发了一篇博客

    10.20~10.22 G4还苦于代码读不懂,而本班唯一的明白人不知去向,G4想等待明白人归来问之;21号晚,Sui老师开始动手写一个简易版的算法,也就是BUS算法的初级优化版。不管多么简易的算法,能够在着手实践就不简单!怀着对Sui老师的敬佩之情,G4搬着凳子到Sui老师宿舍开始了真正的结对编程。即便是一个简单的算法,在这个框架中实现都要理解了整个框架的工作机制、解决众多的边界问题、细节问题才能成功实现。在李栋大神的帮助下,最终G4和Sui老师用了一晚上的时间搞定了这个算法,虽然只是BUS算法的简单改进,但G4和Sui老师都非常欣喜。不过,既然解决了众多与算法无关的细节问题,G4和Sui老师想可以进一步优化这个算法。G4和Sui老师交流确定下算法后,G4在第二天中午实现了这个算法,运行结果不出意料地更加快了。

    初步算法:

    BUS算法中,StopAtEachFloor方法令电梯在每层都停靠。我们希望电梯在每次运行前,判断一下下一层是否有内部与外部请求,如果没有就停靠到下下层。

    改进算法:

    在初步算法基础上,进阶算法中,电梯在每次运行前会从电梯当前楼层开始,到当前方向顶层依次判断此层是否有请求,发现第一个请求时设置此层设为目的地;若直至当前方向顶层也没有请求,则改变运行方向。同时,改进了电梯初始状态时的行为:初步算法中令电梯初始向上运行,进阶算法中当外部请求发出时,判断请求发出楼层,根据电梯当前楼层设置相应的电梯运行方向。

    合作编程心得:

     

    《移山之道》中,关于结对编程的优点是这样写的:

      (1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。

      (2)对于开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高的满足感。

      (3)在企业管理层次上,结对能更有效地交流,相互学习和传递经验,能更好地处理人员流动。因为一个人的知识已被其他人共享。总之,如果运用得当,结对编程能得到更高的投入产出比(Return of Investment)。

    在这次pair work中我深切地体会到了前两点:我是个有点懒的人,如果事情有些基本问题搞不清楚我往往感到无从下手,而当别人都开始动手的时候又会有些急躁。但是我对工作很执着,比较完美主义。而partner隋宇豪比较积极主动,勇于实践,但考虑略显不够细致。万事开头难,隋宇豪为我们的结对编程创造了一个良好的开始。当我们的简易算法得以实现后,我并不满足于这个初步的尝试,于是我们共通进行改进、优化。我认为我们两人配合还是很协调的。而结对编程的缺点,如老师在课上所讲,时间安排不如个人灵活、双方需要相互熟悉、磨合的过程、小型项目不需要太多人等。

    程序运行结果:

    passenger1:

    passenger2:

    passenger3:

  • 相关阅读:
    防删没什么意思啊,直接写废你~
    绝大多数情况下,没有解决不了的问题,只有因为平时缺少练习而惧怕问题的复杂度,畏惧的心理让我们选择避让,采取并不那么好的方案去解决问题
    Java 模拟面试题
    Crossthread operation not valid: Control 'progressBar1' accessed from a thread other than the thread it was created on
    一步步从数据库备份恢复SharePoint Portal Server 2003
    【转】理解 JavaScript 闭包
    Just For Fun
    The database schema is too old to perform this operation in this SharePoint cluster. Please upgrade the database and...
    Hello World!
    使用filter筛选刚体碰撞
  • 原文地址:https://www.cnblogs.com/metalcrash/p/2734810.html
Copyright © 2011-2022 走看看