zoukankan      html  css  js  c++  java
  • Pair Work之总结

    pairwork成员:@邓嘉,10061164.@谢永青(@而远之)10061183

         如果说是团队合作,以前也和同学一起编写过程序。但是,这种随机分配合作对象的pairwork以前还没有经历过。首先,结对编程的优点很明显,那就是两个人在一起编程,可以互相提醒,交流不同的意见,避免了思维模式的固定。有效地操作可以提高编程效率。但是,结对编程的缺点也很明显。首先就是环境。要有一个比较合适的场所进行编程。次之,两人的磨合问题。性格,生活习惯的差异都会对编程带来很大的影响。在调和好彼此的习惯之后,如何进行沟通又是个关键问题。由于思维方式的不同,对同一个问题的解决,两个人会有不同的见解。有效而正确的抉择是需要技巧的。伙伴之间的熟悉程度对于编程是个影响.如果不熟,就不会很积极主动的联系。在一起编程的时间也没有组织起来。

        我个人感觉自己的优点就是做事情比较认真,对于分配给自己的任务会尽力的完成。然后就是能够虚心的接受别人的意见。但是自己最大的缺点就在于没有整体的规划能力,拖延病病入膏肓,对团队的进度是个大累赘。邓嘉的优点就是很稳重,遇事情不会慌乱。再者能够发表自己的见解,领导能力也很好。他的为人比较随和,要是有更强的整体的把握能力就更好了。我们俩的编程能力都需要加强。
         信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。信息隐蔽的概念与模块的独立性直接相关。信息隐藏,接口定义,松耦合,使程序具有良好的封装性,便于扩展功能而不影响缘由的类封装的一个主要的好处,就是增加软件代码的内聚性。通过增加内聚性,进而提高可复用性和可维护性。 信息隐藏的好处,正好和“封装”的好处相呼应。封装是为了提高内聚性;而信息隐藏是为了降低耦合性。通过降低耦合,一样可以达到提高可复用性、可维护性这2个目的。

        契约式设计或者Design by Contract (DbC)是一种设计计算机软件的方法。这种方法要求软件设计者为软件组件定义正式的,精确的并且可验证的接口,这样,为传统的抽象数据类型又增加了先验条件、后验条件和不变式。这种方法的名字里用到的“契约”或者说“契约”是一种比喻,因为它和商业契约的情况有点类似。所谓契约,也就是合约,规定两个交互物件上的权利和责任。雇佣合同规定你的工作时数和你必须遵守的行为规则,作为公司则付你薪水,双双履行义务,双双受益。
    一 前置条件(precondiction):为了调用函数,必须为真的条件,在其违反时,函数决不调用,传递好数据时调用者的责任。  
    二 后置条件 (postcondion):函数保证能做到的事情,函数完成式的状态,函数有这一事实表示它会结束,不会无休止的循环   
    三 类不变项(class invariant):从调用者的角度来看,该条件总是为真,在函数的内部处理过程中,不变项可以为变,但在函数结束后,控制返回调用者时,不变项必须为真。来自百度百科并且参考同学博客。

    UML图:

       算法特点:

          基本类似于现实中电梯的运行算法。最开始看了一下原先的bus算法,大体就是每一层都会花费掉五秒钟停一次,不管有没有乘客的请求,显然这样做效率会很低,而且乘客也会疯掉……所以我们的想法是:①电梯停靠在某一层楼未运行的时候,会去检测别的楼层发出的请求,选取路程最近的请求执行;②对于正在上行的电梯,若检测到更上层的请求,则会接着执行,否则,则检测下层的请求并执行;③对于正在下行的电梯,若检测到下层的请求,则会接着执行,否则,则检测上层的请求并执行。


  • 相关阅读:
    Win32汇编对话框资源的综合应用
    linux下svn服务器搭建以及相关问题解决方案
    a+++b 在编译基础上的讨论
    BHO API HOOK Wininet基于IE编程的一些资料
    二维数组和二级指针
    深信服电话面试
    C和C++中的void*
    MySQL学习笔记:调用存储过程或函数报1418错误
    MySQL学习笔记:limit
    MySQL学习笔记:时间差
  • 原文地址:https://www.cnblogs.com/xyqhello/p/2733232.html
Copyright © 2011-2022 走看看