结对编程——电梯调度
12061181 高孟烨
12061182 郝倩
1、结对编程的优缺点:
优点:可以充分发挥两个人各自的优势,每个人擅长的地方不同,两个人一起合作效率会更高。
缺点:如果两个人的实力相差太大或者态度不端正无法较好的沟通交流,则会使任务失败。
2、各自优缺点:
高孟烨:能够想出各种算法;细致。动手能力相对较弱。
郝倩:时间观念强;代码能力不弱。做事情不是很细致。
3、一起合作编程的照片
4、Design by Contract, Code Contract
契约式设计的核心是断言(assertion)。所谓“断言”,是指永远为真的布尔型语句,如果不为真,则程序必然存在错误。它使用了三类断言:后继条件(post-conditions),前提条件(pre-conditions),以及不变量(invariants)。
由于信息隐蔽原则,我们在调用一个接口时,并不知道它内部实现的细节。为了顺利使用接口,首先需要满足前提条件。这个前提条件就是指在执行操作之前,期望具备的环境。满足前提条件接口使用顺利后,自然而然得到了一个后继条件——指操作执行完之后的情况。不变量是关于类(class)的断言,无论是否能对该对象调用某种操作都需要满足的条件。
5、算法思想:
电梯停止时:若电梯内有人,则该楼层出电梯的乘客离开电梯,接着调度离当前楼层最近的请求。若电梯内没人,选择等待队列离当前楼层最近的请求,如果等待队列也为空,则电梯停止不动。
电梯运动时:在每层判断是否有该层的外部请求以及内部请求,以及时间是否在这一段区间内,若符合以上条件,则捡人,否则顺序执行。
6、unittest
时间: 2024-10-09 05:28:57