对于结对编程的一些感悟

软工课的第一次小作业是两人结对编程,使用JavaScript共同开发一个Game of Life网页游戏,游戏逻辑并不复杂:在一个无限延伸的网格中,每个网格住着一个存货状态随机的细胞,在一定规则下,一个细胞在下一代的生死取决于其周围细胞的数量。与以往的个人编程或团队开发不同,从编程实现到测试,再到最后的文档编写,都要通过两人结对来完成。通过作业实践,对结对编程有了更多的感受。

  在我们开发过程中,两人分别承担驾驶员和领航员的角色,“驾驶员”负责具体的编码工作,“领航员”则负责检查,及时纠正代码中的问题。在没有结对编程实践之前,我的感觉是这种编程方式很别扭,有个人在我身边盯着我会很不习惯,有可能还会降低效率。但在我们两人编程之后,会发现这是一种全新的体验。

结对编程与传统方式的不同



认真对待

  我认为,结对编程与个人编程一个最明显的不同就体现在心理差异上。因为结对编程是两个人的事情,不论是担任驾驶员还是领航员的角色,都需要对程序设计和实现有足够的准备,否则很容易变成一个人写代码,另一个人无所事事。以我的经历为例,在未开发前,我提前一天把以前写过的JS代码又读了一遍,以便能够充分掌握JS的一些基本语法和编写规范,同时编写一个小的动态网页,以便能够熟练使用网页开发中的html、css和JS。在开发之前,自己仔细想了实现方法,做到胸有成竹。因为是两个人共同完成,有在他人表现的一面,所以甚至会比平时更严格地要求自己。

  开发过程中,要打起十二分精神,两个人紧密配合,谁也不好意思开小差,能够集中注意力在代码上。

提高效率

  结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能;两人互相交流,商讨实现方式,遇到问题时,能够做到互补。比如,我可能忘记了js随机产生0或1的方法,而另一个很清楚,这就减少了搜索的时间,提高了效率。

  在测试过程中,因为有两个人共同调试,所以能够更快的发现问题所在。比如在编码完成后,打开网页,发现页面什么也没有显示,按下F12键查看后,并没有报错,这时我准备打开源代码,步步调试。但我调试几部后,悦欣已经发现问题,原来游戏开始的接口写好后,并未调用。除此外,程序运行地还是十分流畅的。

互相学习

  结对编程也是一个互相学习的过程。在结对编程过程中,两人会不断就实现方法、代码风格或命名方法等进行讨论,两个人的思路能够进行互补,在编写过程中能够学到对方解决问题的思路和方法,对于提高自己解决问题和编程能力有很大的帮助。

时间: 2025-01-31 04:08:53

对于结对编程的一些感悟的相关文章

结对编程感悟

我们是Core第四组,上学期在数据结构课程中我们曾经有过编写计算算数表达式的经历,所以知道自己要写内核后,感觉感觉在思路上不会有很苦难的地方,但是在随机生成表达式的编写时还是遇到了一些困难.这次的作业是结对编程和个人独立作业也有很大不同,需要两个人之间合作,最后生成API接口和UI组对接也是之前没有接触过的,两周左右的时间写完了core的确也有很多感悟. 结对与独立作业 刚看到题目时被那些琐碎,冗杂的分支条件所震撼,真是一脸懵逼,看到API和接口更是不知所云.在随后的几天中,随着讨论的深入,思路

关于结对编程的体会和感悟

结对编程的利与弊 在这次微信开发过程中,我和组员练习了结对编程的这种编程模式,也就是两个人同时在一台电脑上进行编程. 之前的时候我也在其他地方练习过这种模式,现在想谈谈这种合作模式的利和弊,我对它的理解. 结对编程的利 最大的好处就是,两个人在一起写代码的时候能够融合两种不同的思路,一个人写的时候另一个人可以浏览,这样能够让代码准确性更高. 两个人一起写代码,便于尝试新的代码风格和变量命名,以及代码风格和命名风格的统一 不用再pull和push之间各种merge 能够平衡组员之间工作量 增进组员

第十周(11.18-11.24)----结对编程----感悟

当开始接触到结对编程这个名词的时候,我很疑惑这是一个什么样的编程形式.当逐步深入读了邹欣老师<构建之法>第二版75页4.5节之后,我不禁想起了一个这样的画面.在准备考研复试阶段,我请了一位编程能力比我强人来指导我学习编程.当时做的是ACM水题,基础的原因,只能从水体开始练习.开始时我坐在电脑前,他坐在我旁边,他看着我进行编程.当遇到一个语法上的错误时,他记得清的就改正我,记不清的就叫我翻书,找到后又回来改代码.遇到算法上的问题的时候,他在纸上给我画一些草图帮我屡屡思路.我还记得那是一道大数相加

172328 结对编程练习_四则运算 第一周 阶段总结

172328 结对编程练习_四则运算 第一周 阶段总结 1.项目内容解析 (1).自动生成不同的题目 (2).实现中缀表达式→后缀表达式 (3).支持真分数 (4).题目去重 (5).用户选择题目等级和题目数量 (6).给用户计算正确率 (7).错误处理测试,非法表达式 (8).分数化简 2.设计思路内容 (1).先进行了小组讨论,对于整个题目进行了大体的分析和要点记录. (2).确定了几个必有的模块,生成题目类,用户使用类,中缀表达式变后缀表达式类,后缀表达式计算类. (3).对于每个模块的实

结对编程 By:李畅&amp;李雅楠

开始.结束与开始 by李畅 李雅楠 看似漫长实则短暂的结对编程项目就这么结束了.细细回想起来,其中更有着点滴的感悟与体会.那么,让我们一切从头说起,慢慢回味其中的点滴. Part 1 初遇结对编程,对其中的点滴真的是可以说完全不了解.结对编程?如何去做?怎么去做?又会有什么结果?一切,起于未知. 而在从个人项目到结对编程项目转换的初始,就开始体会到结对编程项目的细微好处了.首先是相互之间的互看代码.(先例行感慨一下自己的搭档真的很厉害)在互看代码的过程中,我们开始了解对方的思路,开始明确对方的想

结对编程小结与收获

1. 初始设计: 在拿到项目需求之后,我和伙伴经过讨论最终决定做一个java web小项目来实现需求. 登录注册部分,初始的账户沿用了个人项目的几个固定用户,注册部分注册成功后直接进入系统(注册不用存入数据库) 选择试卷类型方面,点击小初高中,则显示该类型的试卷,并根据数量来生成题目(题目生成沿用个人项目) 2. 遇到的问题: 遇到的第一个问题,手机注册码的发送,由于缺少所需的jar包,这个问题困扰了我们很久,最后参照网上的方法加上之前申请的短信网关给做出来了. 题目方面,因为之前个人项目中的题

结对编程

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作.一个人输入代码,而另一个人审查他输入的每一行代码.输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员).两个程序员经常互换角色. 在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理.这样使得驾驶者可以集中全部注意力在完成当前任务的"战术"方面.观察员当作安全网和指南.结对编程对开发程序有很多好处.比如增加纪律性,写出更好的代码等.

软件工程------结对编程第二次

这一周我(1551426)还是继续和我们组的成员(1551419)两人一起结对编程,除此之外,我们还设计了数据库的,总共三个关系模式 room(roomtype,dailyprice,deposit) roominfo(roomnumber,roomtype,isfree) guest(id, startday,phonenumber,roomnumber,name,sex,stayday) 起初我们把room和guest 放在了一起,后来发现数据的冗余以后马上换成三个关系表. 这是我们的关系图

软工第二次实验——结对编程

1丶小组成员 卫瑞亮 1500802122 王玉卿 1500802099 2.代码链接 https://coding.net/u/qq1062718477/p/SE_task/git/commits/master/ 3.软件界面 4.结对编程照片 5.心得体会 到今天接触结对编程差不多两周了,对于结对编程有了更加深刻地理解,通过结对编程,我们可以及时的发现并解决后面可能会出现的问题,并且还能提升我们与别 人进行交流的能力,与人沟通对我们来说也是极为重要的,同时,结对编程使我们频繁进行交流,而且要