pairwork(黄敬博12061156和黄伟龙12061172)

结对编程:

结对编程的优缺点:

优点:

1.相互督促,共同为了完成目标而努力;

2.节省时间,通过将疑难问题分开解决,共同讨论,实现了更高效的时间利用率;

3.能力互补,提高代码的质量,同时也提高了测试代码的效率,容易发挥每个人自身的优点;

缺点:

1.可能会形成互相依赖的情况,都等着对方积极主动,容易把时间拖到最后;

2.对于思维方式和行为习惯不同的人来说,往往在交流的时候可能会有一些障碍,甚至产生一些小矛盾,编写代码的效率反而可能会比单独更低;

3.如果双方编程能力都不强的话可能很难形成真正意义上的互补;

结对伙伴的优缺点:

黄敬博同学的思维非常活跃,理解能力和编程能力较强,只是做事有一点拖延;

黄伟龙同学基础较弱,较勤奋,但是思维不是很灵活,理解问题较慢;

合作流程:

1.共同阅读理解代码,找到其中的着眼点,每个人说出自己的想法;

2.上网搜寻电梯相关的算法,并且经过相互讨论确定方案;

3.共同编写代码;

4.进行调试;

Information Hiding

信息隐藏指的是在设计模块时将某些特定的信息,包括属性或方法隐藏起来,对于不需要这些信息的其他类来说是不可访问的。信息隐藏提高了数据的安全性,避免了信息在无关的其他地方被非法更改,也有益于程序模块化的设计。

Interface Design

接口设计,简单来说接口就是一种模板或者契约,只规定了需要功能,而不去关心具体的细节;通过灵活使用接口,可以增加代码的生命力和可移植性。

Loose Coupling

耦合指的是一个元素对另一元素的直接了解程度。松散耦合是在一个系统中使各组件互相连接的方法,使这些模块在最小的可行范围内彼此依赖。松耦合架构可以降低整体复杂性和依赖性,每个模块具有各自的独立性,仅通过消息来传递信息,修改其中的某个模块并不会对其他模块造成破坏,方便我们对不同的模块的修改和管理。

Design by Contract

契约式编程

契约式设计是一种设计计算机软件的方法。这种方法要求软件设计者为软件组件定义正式的,精确的并且可验证的接口,这样,为传统的抽象数据类型又增加了先验条件、后验条件和不变式。其中前置条件指的是为了调用函数,必须为真的条件,在其违反时,函数决不调用,传递好数据时调用者的责任;后置条件指的是函数保证能做到的事情,函数完成式的状态,函数有这一事实表示它会结束,不会无休止的循环;不变式指的是从调用者的角度来看,该条件总是为真,在函数的内部处理过程中,不变式可以为变,但在函数结束后,控制返回调用者时,不变式必须为真。

优点:

契约能使文档更出色;契约是类特性的公开视图中的固有成分;有着更可靠的文档,运行时要检查断言,以便保证制定的契约与程序的实际运行情况一致;断言定义了测试的预期结果,并且由代码进行维护,使程序有明确的测试指导;既能够获得精确规范得到的益处,同时还使得程序员继续以他们所熟悉的方式工作。

缺点:

断言不能沿着继承层次往下遗传。如果你重新定义了某个具有合约的基类方法,实现该合约的的断言不会被正确调用,你必须手工调类不变式,基本的合约不会主动实现。

Code Contract

程序代码合约是.NET Framework 4.0的新功能,它是微软对契约式编程概念所提出的一种解决方案,主要由前置条件后置条件、与对象不变式这三大契约所构成,可以很容易的为程序代码加入验证程序代码,降低程序的错误发生率,提高程序的质量,也可以整合单元测试,减少单元测试的工作量,甚至整合文档管理器,让产出的程序文件更为详细 。

Unit Test

还未完成,等待后期上交

UML类图,第一张是综合图,第二张比较详细

算法的关键和独到之处:我们的算法思路来自于博客园的一篇电梯算法总结,我们感觉其中的scan算法和在其基础上改进的look算法比较优秀,于是就改进了这种方法:

扫描算法(SCAN)是一种按照楼层顺序依次服务请求,它让电梯在最底层和最顶层之间连续往返运行,在运行过程中响应处在于电梯运行方向相同的各楼层上的请求。它进行寻找楼层的优化,效率比较高,但它是一个非实时算法。扫描算法较好地解决了电梯移动的问题,在这个算法中,每个电梯响应乘客请求使乘客获得服务的次序是由其发出请求的乘客的位置与当前电梯位置之间的距离来决定的,所有的与电梯运行方向相同的乘客的请求在一次电向上运行或向下运行的过程中完成,免去了电梯频繁的来回移动[2]。

扫描算法的平均响应时间比最短寻找楼层时间优先算法长,但是响应时间方差比最短寻找楼层时间优先算法小,从统计学角度来讲,扫描算法要比最短寻找楼层时间优先算法稳定。

LOOK算法[18]是扫描算法的一种改进。对LOOK算法而言,电梯同样在最底层和最顶层之间运行。但当LOOK算法发现电梯所移动的方向上不再有请求时立即改变运行方向,而扫描算法则需要移动到最底层或者最顶层时才改变运行方向。

我们的算法的关键有2点,一是扫描顺路情况下的最短楼层,二是在当前方向下没有扫描到指令的情况则自动掉头。这样就从每层都停变为在最近的楼层停,节省了不少时间。

时间: 2024-08-24 14:30:53

pairwork(黄敬博12061156和黄伟龙12061172)的相关文章

紫书第一章训练1 D -Message Decoding(UVA213) by 16黄睿博

来源:http://m.blog.csdn.net/article/details?id=70766751 Some message encoding schemes require that an encoded message be sent in two parts. The ?rst part, called the header, contains the characters of the message. The second part contains a pattern tha

黄聪:《跟黄聪学WordPress插件开发》

续<跟黄聪学WordPress主题开发>之后,又一个作品完成!<跟黄聪学Wordpress插件开发>,国内最好的Wordpress插件开发视频教程!! 目录预览: WordPress插件简介 WordPress插件的创建 认识钩子:动作(add_action与do_action) 认识钩子:带参数的动作 认识钩子:常用的动作实用案例 认识钩子:过滤器(add_filter与apply_filters) 认识钩子:带参数的过滤器 认识钩子:常用的过滤器实用案例 后台整合:创建菜单和子

黄聪:《跟黄聪学WordPress主题开发》

又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库表结构.字段详解 WordPress主题模版加载过程 WordPress主题模版开发:主题模版的安装及创建 WordPress主题模版开发:首页模版及调用options表数据 WordPress主题模版开发:如何循环输出文章列表 WordPress主题模版开发:文章元数据及多语言化 WordPress主题模版

Alpha阶段个人贡献分及转会人员确定

团队共有8人,总分400分.经过相关讨论后得出个人贡献分分配如下: 12061180 林豪森 56 12061166 宋天舒 61 12061159 张迎春 60 12061175 刘翔宇 59 12061183 叶露婷 54 12061157 黄漠源 41 12061156 黄敬博 35 12061177 旦增晋美 34 经过商讨决定.黄敬博转至sixsix团队.我们两个团队间交流频繁方便,相信他能很快适应新的团队.

结对项目:电梯

结对编程: 结对编程的优缺点: 优点: 1.相互督促,共同为了完成目标而努力: 2.节省时间,通过将疑难问题分开解决,共同讨论,实现了更高效的时间利用率: 3.能力互补,提高代码的质量,同时也提高了测试代码的效率,容易发挥每个人自身的优点: 缺点: 1.可能会形成互相依赖的情况,都等着对方积极主动,容易把时间拖到最后: 2.对于思维方式和行为习惯不同的人来说,往往在交流的时候可能会有一些障碍,甚至产生一些小矛盾,编写代码的效率反而可能会比单独更低: 3.如果双方编程能力都不强的话可能很难形成真正

Team Member Introduction and Division of Work

Team leader Name:宋天舒 Student Number:12061166 Interested In: Information safety. Responsible For: Design, codes and document. Team members Name:黄敬博 Student Number:12061156 Interested In: Singing,PC game,Information safety. Responsible For: Coding. Nam

M2贡献分分配方案

1.初始分每个人都为0. 2.每周分配任务,按任务计分. 3.每周每个人有12.5分. 4.次周完成本周任务计6分. 5.未全部完成本周任务计6分. 6.12月29日统计分数,多出来的分数按完成任务数以及难易情况进行分配. 7.每周分配任务.   第一周(12.1~12.9) 第二周(12.10~12.16) 第三周(12.17~12.23) 第四周(12.24~12.28) 高雅智 阅读代码 意见反馈.搜索 注册登录功能   郝倩 熟悉爬虫代码.爬一次饿了么 熟悉美团标签.爬取美团数据 爬取美

Scrum Meeting 13 -2014.11.19

最近数据库和编译的实验课也开始了,大家晚上的时间直接被砍掉了大部分. 希望大家能顺利完成项目吧.剩下时间也不多了,如果程序还存在一些特别的问题和需要优化修改的地方也应该考虑留到下阶段进行了. Member Today’s task Next task 林豪森 与其他小组商讨整合问题 检测功能完整性,处理整合问题 宋天舒 测试项目功能实现 处理测试结果并对下阶段修改作建议 张迎春 测试项目功能实现 处理测试结果并对下阶段修改作建议 黄漠源 优化代码结构,添加注释 书写项目说明文档 黄敬博 优化代码

Scrum Meeting 11 -2014.11.17

今天和其他两个小组讨论了关于整合问题,在数据库连接等具体方面上还需要继续商讨. 我们小组内部讨论了,这周还是需要在处理整合的同时做项目整体的测试与改进的. Member Today’s task Next task 林豪森 与其他小组商讨整合问题 与其他小组商讨整合问题 宋天舒 优化代码结构,添加注释 测试项目功能实现 张迎春 修复整合存在的bug 测试项目功能实现 黄漠源 优化代码结构,添加注释 优化代码结构,添加注释 黄敬博 修复整合存在的bug 优化代码结构,添加注释 刘翔宇 优化pdf的