前段时间在Team内小试了一下Pair Programming,小记一下感受。
当我周会上决定近段时间的新功能两人结对开发时,大家一片欢呼,热烈欢迎,可现实状况——我们4个人都没有PP过的
经验,也都道听途说而已。为了先试试效果,决定先由我和另一个技术稍强,性格外向的组队。
和他一起Programming的过程还是比较愉快。与其说是Pair Programming,不如说是Pair Talking。我们两个人讨论的时
间要比Coding 所花的时间多。比如需求理解不一致经常会争论;对设计经常会脑子灵光一现,产生好的Idea,然后就停下来讨
论可行性;程序不同的写法的差异和后果也会讨论一番;一些不好的编码习惯也会随时有人纠正;我也会把自己的很多开发的
经验告诉他。我发现平时我都没太多话的,这段时间都快成话唠了:)
和他Pair的过程,我估计工期比一个人单独做略短一点,所以总工时 < 一个人做的工作 * 2,大约1.6倍左右。为什么会小
于2?因为两个人每小时都是有效工作时间,没人偷懒:)。但代码质量绝对有信心,最后User验收该功能也没有Bug。
之后我安排他和一个比较内向的女生Pair,女生技术和经验上都差一点。发现效果比我们Pair时大打折扣。开始我发现女生
基本什么上都听他的,几乎没有提出自己的任何建议。后来我要求男生把Pair时的主控权大多时候交给女生,大多时间由女生
来掌控电脑,他负责Review她的工作,发现问题及时指正。这样让女生在做的过程中体现她的思路,了解她的思路后两人才能
更好的交流。最终产品质量也还不错,User验收只发现很少Bug。这个女生自己也说从他身上学了不少东西
Pair Programming一段时间之后,还是可以看到很明显的效果。Team内大家的交流比以前多了,以前很少有人主动讨论
新技术。我一直想在Team内做单元测试也基本实现了,大家对Junit的思想和基本用法也都通过“一传十,十传百”比较熟悉
了。
最终感觉, Pair Programming实施和个人性格关系很大,和外向的人Pair是件愉快的事情,和外向的人Pair确是比较沉闷。
分享到:
相关推荐
### 配对编程(Pair Programming):对我有何益处? #### 概述 配对编程是一种软件开发实践方法,其中两名程序员共同在一个工作站上协作完成相同的设计、算法或代码编写工作。这种做法在学术界已经获得了显著的...
PairProgramming-master这个文件名可能是指一个关于Pair Programming的项目或教程的源代码库,包含了实现Pair Programming实践的示例代码或相关资源。对于想要深入理解和实践Pair Programming的开发者来说,这是一...
根据Stuart Wray在2010年IEEE Software杂志上发表的文章《How Pair Programming Really Works》,我们可以深入了解这种合作模式的实际操作方法及其背后的理念。 配对编程可以定义为两位程序员坐在同一台电脑前共同...
在"ThoughtWorks-Contractor-Pair-Programming.zip"这个压缩包中,我们可以推测其内容可能与ThoughtWorks的外包工程师合作模式以及配对编程(Pair Programming)的实践相关。 配对编程是敏捷开发方法中的一个重要...
在“PairProgramming-master”这个文件名中,我们可以猜测这可能是一个项目源代码库,包含了关于结对编程的示例代码、练习或教学资源。通过研究这些内容,参与者可以更深入地理解结对编程的实际操作和益处。 总之,...
标题“week2d3pairprogramming”可能指的是一个关于这一主题的课程或活动的第二周第三天的部分。在这个场景中,我们将深入探讨Pair Programming的概念以及与JavaScript编程相关的应用。 Pair Programming是指两个...
本书对结对编程技术的基本原则和最佳实践进行了论述,它不仅能帮助初次接触结对编程技术的团队成员和经理们熟悉这项技术,还能指导有经验的结对程序员把这项技术运用得更加纯熟。作者根据自身的实践经验,对结对...
JavaScript对对编程(Pair Programming)是一种软件开发实践,它鼓励两个开发者在同一台计算机上共同编写代码,一人作为“驾驶员”,实际操作键盘输入代码,另一人则作为“观察员”或“导航员”,负责审查代码质量、...
在“PairProgramming-master”这个压缩包文件中,可能包含了该课程关于结对编程的相关材料,如示例代码、练习题目、项目指南等。通过这些资源,学生可以学习如何在实践中应用结对编程技巧,进一步掌握Java编程语言。...
在IT行业中,Pair Programming是一种软件开发实践,其中两个程序员共享同一台计算机,共同编写代码。这个过程旨在提高代码质量、促进团队协作,并增强对技术问题的理解。在这个特定的场景中,"Pair_programming:练习...
在这篇文章中,我们将探讨配对编程的实践以及如何在一个名为“gbic-pair-programming-2”的具体项目中实施这一方法,同时也会提及项目资源、贡献指南、以及授权许可的重要信息。 配对编程强调两名开发者共同解决...
Pair Programming是一种重要的实践方法,两位开发人员共同编写同一份代码,互相学习和交流,有助于提高代码质量和防止错误。 敏捷型软件开发方法与极限编程都是软件开发行业的新趋势,它们能够快速响应需求变化,...
- **结对编程(Pair Programming)**:两人一组共同编写代码,提高代码质量并促进知识共享。 - **集体所有权(Collective Ownership)**:所有团队成员都对代码库负责。 - **持续集成(Continuous Integration)**:...
**结对编程(Pair Programming)**是极限编程(XP,Extreme Programming)中的一项核心实践,旨在提高软件开发的效率和质量。在这个过程中,两位程序员坐在同一台电脑前,共同编写代码,一人为主程序员(Driver),...
4. 结对编程(Pair Programming):两名开发人员共享同一台计算机,一起编写代码。这种方法可以提高代码质量,减少错误,同时促进知识共享和团队合作。 5. 简单设计(YAGNI and KISS原则):敏捷开发强调“你不会...
- **书名**:《Sudoku Programming with C》 - **作者**:Giulio Zambon - **出版商**:Apress - **内容简介**:本书是一本实践指南,旨在向读者展示如何使用C语言解决和创建数独谜题。它侧重于实用编程技巧而非理论...
3. **并发处理**:讨论多进程和多线程模型,解释如何在Unix中实现并发服务,如使用fork()、pipe()、socketpair()、select()、poll()和epoll()等系统调用。 4. **信号处理**:介绍Unix信号机制,如何注册信号处理器...
进程管理部分涵盖了进程创建(fork、vfork、clone)、进程终止、信号处理、进程调度、进程间通信(pipe、fifo、socketpair、message queue、semaphore、shared memory)等内容,这些都是实现并发程序的关键。...
2. 结对编程(Pair programming):两个程序员共享同一台计算机,互相审查代码,提高代码质量和团队协作。 3. 测试(Testing):强调编写自动化测试用例,确保代码的质量和可维护性。 4. 重构(Refactoring):持续...