首页 > 代码库 > 结对项目

结对项目

结对编程的优点:

1.可以通过讨论与合作增进算法的实现;

2.在编写代码的过程中相当于时时刻刻在DEBUG,提高DEBUG效率;

3.同伴的监督使自己更加专心。

----------------------------------------------------------------------

结对编程的缺点:
必须寻找两人的共同时间工作。

----------------------------------------------------------------------

学号后三位191同学的优点:
1.对于C#的各种语法很熟悉

2.对于调度算法方面思维敏捷

3.将程序与实际结合的能力强

缺点:

不擅长阅读他人的代码

----------------------------------------------------------------------

学号后三位192同学的优点:

1.有责任心:能时刻想着要完成的项目并且有序地完成,能管理好自己的时间从而得到最大的效益 
2.积极沟通: 能主动地发表自己的意见并且清晰明确地表达出来,从而使团队效率更高氛围更好
3.基本功扎实:能够编出高效、实用的代码,是团队中的砥柱。
缺点:
不苛求完美:所以不能编出最厉害最牛的代码。 
----------------------------------------------------------------------
契约式设计,运用到interface design,结合information hiding,将不必要的信息隐藏,要求
软件设计者为软件组件定义正式的,精确的并且可验证的接口,这样,为传统的抽象数据类型又
增加了先验条件、后验条件和不变式。作业中定义了各种接口,结合了契约式编程。
----------------------------------------------------------------------
简单UML类图如下:
----------------------------------------------------------------------
关于算法:
每一个tick都会对AllPassengers进行检测,如果当前tick等于请求时间
将请求分配给某一个电梯,分配规则:
1.该电梯的不可达楼层不包括请求楼层和目标楼层

2.计算电梯到达请求楼层的最短时间(考虑电梯的HistoryDirection和CurrentDirection,例如:

有一个从5层到10层的请求,电梯A在1层,正在往上运动,电梯B在6层,正在往上运动,该请求会赋给电梯A)

3.将请求分配给到达请求楼层最短时间的电梯
分配给电梯之后进行电梯的调度(每tick更新一次电梯状态)
 
算法的关键就是分配规则的制定以及电梯状态的更新。
----------------------------------------------------------------------
结对小组成员后三位学号:
191
192
----------------------------------------------------------------------

 附:结对编程的照片

结对项目