结队成员简介:

成员:牛强,学号12061171;刘文乔,学号120611683 我们之所以结对编程以完成所给课设要求,是因为我们互相了解彼此,能够更好更快地完成。下图是我们合作编程时的留影:

  牛强是一个思维活跃、工作积极,编程基础较强的人,但是他经常忽略一些细节问 题,导致他经常花费更多的时间用于代码的调试和改错;而刘文乔是一个考虑问题比较全面的人,可以较快地分析出问题所在,并能快速改正,但是编程能力较弱,在完成已分配任务时花的时间会比较多。而我们组成一个队伍,互补互助,不仅能够更好更快地完成项目,更能在这个过程中促进彼此个人能力的进步,增进友谊。

  在课堂上我们学习到了关于结对编程的知识,但是这些知识是空洞无力的。在我们真正开始结对编程的实践时,我们才印证了课堂上关于结对编程的内容。在我们看来:结对编程能很大程度上保证代码的质量,使程序更简洁、设计更合理、可能的漏洞更少。而且结对编程还可以大幅度削减开发所需的时间花费和知识储量,两个人都不需要有极高的造诣、只需平平的能力即可做到一个人苦心竭力才能做到的事。不仅如此,在解决困难和问题时通常能够找到更好更快的解决方式。

   但是结对编程的优点不仅仅限于这些。对于结对的两个人来说,如果他们能够互相激励、互相帮助,那么他们在合作中将收获快乐和友谊,而这些又会转而产生刺激使他们的个人能力得到提升。这些都是一个人独自完成时不可能得到的。

   但是显而易见,结对编程还有一些需要调和的矛盾。两个人的编程风格不同,而且大多说人喜欢独自工作,如果他们再不能及时交流,往往会导致团队的失败。不仅如此,即使两个人克服了这个矛盾,还是会出现其他的一些问题,比如说两个知识储备不同、动手能力的差异,这些都会耗费一定的时间去达成共识。而我们所做的就是在工作中尽量克服这些不足,并充分利用结对编程的优势更好更快地完成我们的项目。

  在我们设计代码的过程中,非常乐意使用一些语言特性和设计方法来改进自己的代码。比如说充分地利用面向对象语言的信息隐藏特性(information hiding)来完成对类和属性的封装,以实现对数据的保护,保证程序的安全性。而对于接口的设计(interface design)能够更规范地组织代码,并且能增强代码的重用性,在明确了功能之后,如何实现并不需要考虑,所以会更方便地设计整个代码的框架,提高开发效率。而对于松散耦合(loose coupling),我们设计的代码并没有很好地体现。因为在整个框架下我们并没有做太多的修改,所遵循的只有面向对象原则,严格划分各部分的功能和属性,使得某个模块除功能外的改变对其他模块几乎不产生影响。

Pair Work:电梯调度算法的实现和测试 by 12061171 and 12061168的更多相关文章

  1. 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] [附加题]

    软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] [附加题] 首先,在分组之前,我和室友薛亚杰已经详细阅读了往届学长的博客,认为电梯调度 ...

  2. 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]

    软件工程  ---   Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] 说明结对编程的优点和缺点. 结对编程的优点如下: 在独立设计.实现代码的过程中不 ...

  3. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试][关于电梯调度算法的附加思考]:刘耀先-11061183,罗凡-11061174

    本文为对于电梯调度算法的三个附加题思考 1.改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享. <1>进一步提高API定义 ...

  4. 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结

    1)结对编程队友 1106xxxx 张扬 1106xxxx 杨军 其中,此项目的编程实现主要由前者完成. 2)关于结对编程 结对编程的优点: 最直接的一点:在结对编程中,由于有另一个人在你身边和你配合 ...

  5. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:谢勤政-11061197,吴润凡-11061185

    一,关于结对编程 结对编程的优点: 1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力. 2)对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高 ...

  6. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:刘耀先-11061183,罗凡-11061174

    本次为我们两个人的第一次结对编程.从总体而言,我们对结对编程比单人编程略显不适应.但是经过一段时间的磨合,我们逐渐的习惯了这种编程方式. 1.  结对编程的优缺点 结对编程的优点: (1)       ...

  7. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] --11061188刘强

    结对编程总结 队员:刘强(11061188) 林谋武(11061169) 结对编程: 结对编程的优点: 1.  两个人合作,相比于一个人自己奋斗而言,更能激发自己的潜能:我们在合作过程中,互相学习,互 ...

  8. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]

    作业提交时间:10月9日上课前. Design and implement an Elevator Scheduler to aim for both correctness and performa ...

  9. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:思考题——谢勤政11061197

    第一题: 大楼里面的电梯一般分区域,或考虑思考题第四题的情况,运行楼层不一样的电梯属于不同的区域.然后在接口IRequest和IPassenger还有IElevator里面都加上int area这个属 ...

随机推荐

  1. Java jni字符串转换

    1.jstring转QString 对于Qt5.2以上(含)可以用QAndroidJniObject::toString(),详见这里:https://stackoverflow.com/questi ...

  2. Spring系列(1)--IOC 和 DI

    IOC 和 DI IOC 原理 xml 配置文件配置 bean dom4j 读取配置文件 工厂设计模式 反射机制创建对象 applicationContext.xml 配置文件,该配置文件名可自定义: ...

  3. zabbix监控磁盘IO

    我这里有两种方法,感觉都不错.我这里主要是写一下监控的脚本. 1.使用iostat命令监控 1)首先打开配置文件的自定义脚本功能,然后编写脚本. #!/bin/bash ];then echo &qu ...

  4. 1.2 Spyder的基本使用

    [TOC] 1.0 Spyder的基本使用 1.Spyder的主题与文字修改: 2.Spyder的使用技巧: (一)安装Anaconda: 官网下载:https://www.anaconda.com/ ...

  5. python学习-判断是否是私网IP地址

    判断是否是私网IP地址 私网IP地址范围如下: 192.168.0.0-192.168.255.255 172.16.0.0-172.31.255.255 10.0.0.0-10.255.255.25 ...

  6. PyCharm设置Python版本

    PyCharm默认会使用虚拟的Python解释器,即使没有安装也能够运行Python代码,但有强迫症的程序员一定不能忍受Project中存在这么多的文件目录 设置Python版本 File->S ...

  7. eclipse+tomcat测试连接时候HTTP Status 404错误

    想要在eclipse里部署tomcat,结果tomcat单独可以通过连接测试,用eclipse就404了 404肯定都是目录不对,试了半天在eclipse下改了一下配置和文件位置就行了 1.先在菜单栏 ...

  8. mysql用户操作、权限分配、远程登录设置

    对最近mysql的常用运维命令进行整理 查看使用的哪个配置文件启动的mysql 1. ps aux|grep mysql|grep 'my.cnf' 如果启动的命令中选择了配置文件,则可以查询出来,也 ...

  9. Kmeans基本思想

    https://blog.csdn.net/zjc_game_coder/article/details/78595833 Kmeans算法的基本思想:看如下图: 解决小样本 .非线性及高维模式识别问 ...

  10. Git-本地项目和远程项目关联

    此处记录将本地项目与码云仓库关联步骤 1. 本地 Git 配置 配置一下一些基本的信息 $ git config--global user.name "Your Name" $ g ...