结对学习感想

20175209 20175214 结对学习感想

  • 结对学习的好处

    • 结对学习对我们来说是一个比较陌生的新事物,但是在看了老师推荐的博客后,我觉得可能这对我们大学生而言是一个挺好的学习方式。在以前,我们的学习大多是独自学习兼以向他人问几个问题。讨论,尤其是两个人之间的讨论,对我们来说都是比较不寻常的。
      一个项目团队,是一群人的灵感碰撞,需要一个Leader来引导;而两个人的结对是相互平等的交流,可以更深入地互相了解,相互借鉴,共同成长。相比多人团队,两个人更容易缩短距离感,也更适合还在打基础,学习的我们。当有一个在边上努力,作为伙伴自然也不可能无所事事地糊弄了事。在一起学习的时候,编程项目可以分工合作,遇到困难可以一起想办法,这总归比一个人钻牛角尖来得好得多。——20175214

    • 大致阅读了博客链接中的内容后,我觉得结对学习是一种十分必要的学习方式。
      在处理问题时可以和同伴相互合作,首先这对于问题的分析会很有帮助,也能够更好帮助我们搭建结构框架,俗话说“三个臭皮匠顶个诸葛亮”,面对同样复杂的程序,两个人合作得到的效果绝对不仅仅是一加一等于二这么简单的,有的时候互相审查程序可以发现一个人发现不了的错误,在对同一结构或算法的程序上,两个人的合作可以使得程序更加简单化。
      此外,结对学习还有助于我们的知识的学习和思维的扩张,两个人必然会考虑到更多方面,思维会更加发散;
      结对学习也可以让我们面对复杂的程序或项目上有更好的分工合作,将复杂的程序或项目进行肢解,每个人负责几个环节,不仅能减少我们的工作量,同时可以解决我们的时间去做一组新的项目或者学习更多的知识。——20175209

  • 如何结对学习

    • 虽然对于结对的好处有所设想,但是如何更好地实现合作,互利共赢,而不是一神带一坑呢?

在一个团队中没有明确的上下级关系,也没有明确的领导与服从的角色。需要去分配完成一些任务,这个时候你要主动叫别人做事情,还是被动让别人安排事情? 而这种情况下团队成员要通过 “影响 + 反馈” 来影响同伴。 ---《软件工程讲义3两人合作(2)》

  • 首先,我觉得要有良性的反馈来实现促进,带着戾气的指责和命令明显是不利于相互合作的,对于如何实现这一点,博客里的 “汉堡包”原则很有创造力,也很有借鉴意义。
  • 先来一片面包, 做好铺垫, 例如可以从双方的共同点, 团队共同的愿景讲起, 让对方觉得处于一个安全的环境。
  • 再把肉放上,这时就可以把 建设性的意见 (constructive feedback) 油炸好, 加上生菜, 佐料等。
  • 怎么准备这块肉也有讲究:,我们常说 [feedback], 但是在提供反馈时, 不宜完全沉溺于过去的陈年谷子烂芝麻, 给别人做评价, 下结论。 这样会造成一种 [你就是做得不好, 我恨你] 的情绪。
    我们可以调整一个角度, 把 [feedback], 变成 [feedforward], 强调 [过去你做得不够, 但是我们以后可以做得更好]。
    在技术团队里, 我们的反馈还是要着重于 [行为和后果] 这一层面, 不要贸然深入到 [习惯和动机], [本质]. 除非情况非常严峻, 需要触动别人内心深处, 让别人悬崖勒马。
  • 然后再来一片面包, 盖上。 这时候可以呼应开头, 鼓励对方把工作做好。
  • 其次,我觉得要相互开放包容,每人在各自独立设计、实现软件的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。这样,程序中的错误就会少得多,程序的初始质量会高很多,这样会省下很多以后修改、测试的时间。对于这点,博客里的比喻给我很大启发。

(1)驾驶员:写设计文档,进行编码和单元测试等XP开发流程。
(2)领航员:审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖程度;是否需要和如何重构;帮助驾驶员解决具体的技术问题。
(3)驾驶员和领航员不断轮换角色,不宜连续工作超过一小时。领航员要控制时间。
(4)主动参与。任何一个任务都首先是两个人的责任,也是所有人的责任。没有“我的代码”、“你的代码”或“她的代码”,只有“我们的代码”。
(5)只有水平上的差距,没有级别上的差异。尽管可能大家的级别资历不同,但不管在分析、设计或编码上,双方都拥有平等的决策权利。

  • 综上,结对学习需要两人共同的付出,而不是其中一人单方面的输出;需要两人相互扶持,而不是一个人拖着另一个走。但是我们相信,也有信心一起走的更远。
posted @ 2019-03-24 21:36  20175214lzc  阅读(314)  评论(0编辑  收藏  举报