结对编程是一种敏捷软件开发的技术,需要两个程序员在同一个工作站上工作
当涉及到软件开发时,编写高质量和无缺陷的源代码是必要的。为了确保或提高源代码开发人员编写的质量,他们执行各种各样的任务,包括代码审查、错误检查、迭代循环、连接和快速反馈。
然而,一旦开发人员编写了代码,他们就会执行所有这些活动。如果您在逐行编写源代码的同时完成所有这些活动会怎么样?想知道这怎么可能?是的,在结对编程的帮助下是有可能的。
结对编程是敏捷工作环境中经常采用的最典型的开发技术之一。顾名思义,结对编程需要两个头而不是一个头来完成特定的编码任务。他们共享一个工作站,协作编写源代码,同时执行所有其他提高质量所需的活动。
通过这篇博文,我们将让你了解结对编程及其各个方面。
什么是结对编程?
结对编程是一种敏捷软件开发的技术,需要两个程序员在同一个工作站上工作。在这种开发技术中,一个程序员是编写代码的驱动程序,另一个程序员是观察者或导航者,他们在第一个程序员编写代码时就对每行代码进行导航和检查。
然而,这两个程序员可以根据自己的舒适程度切换角色。有时,结对编程被称为结对编程。
当导航员或观察员检查代码时,他们会提出代码的改进和所有可能的未来问题。结对编程的主要目的是让驱动程序完全专注于编写有效的代码,而观察者是一个向导或安全 。
配对变化由于结对编程涉及到两个程序员,因此有三种不同的结对变体,如下所示:
- 新手-新手: 这种配对涉及到两个新手程序员。然而,组织很少实践这种配对变体
- 专家-新手: 组织将这种配对变化付诸实践,以帮助新手在专业程序员的指导下学习
- 专家-专家: 这种配对变化导致更高的生产率和效率,因为两个程序员都是专家
结对编程是如何工作的?
如前所述,结对编程涉及两个开发人员和一个工作站。它遵循四眼原则,即两个人在采取行动之前达成一致。当驾驶员专注于代码的细节时,导航员检查代码的质量并提出改进意见。
当两个开发人员获得一个定义良好的任务时,结对编程的过程就开始了。最初,他们决定自己的角色,即,驱动程序或观察者。然而,他们不断地频繁地转换角色。
同时,他们一起决定完成任务的技术以及与之相关的所有可能的挑战和风险。当驱动程序编写代码时,观察者逐行检查代码是否正确。
如果代码需要改进或修正,观察者将与驱动程序协作并相应地进行传递。通过这种方式,他们开发出高质量的代码。
请注意这样一个事实,即这些程序员经常保持角色切换,以便他们可以检查彼此的工作。他们还获得了处理开发的不同方面的经验。此外,转换角色使他们保持警惕和参与。
结对编程风格
一般来说,结对编程利用三种不同的风格,如下所示:
1. 驾驶员-导航员风格
2. 散漫的风格
非结构化风格以一种特别的方式工作,两个程序员当场决定是成为驱动程序还是成为观察者。然而,这种风格对于持久的项目来说并不理想。
3. 乒乓球
这种风格适用于测试驱动开发测试,一个程序员编写测试,另一个程序员通过测试。与驱动程序/导航器风格类似,编写和通过测试的角色经常变化。
结对编程的利与弊
现在让我们深入研究结对编程的优点和缺点。
好处
缺点
这就把我们关于结对编程的讨论带到了尾声。它是一种被广泛采用的敏捷开发技术,可以快速、高效、准确地完成某项任务。它为开发人员提供了灵活性,因为他们可以随时成为驱动程序或观察者。此外,这种技术最好的部分是相互学习,开发人员可以从中获得新的东西来学习。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!