2

我在一个极限编程团队工作,每天结对编程。最近,我越来越经常做一些反馈缓慢的事情,大约 3 分钟。例如:改变一些东西,重新编译,运行,看看性能是否有所提高。我认为它削弱了结对编程的质量,而且我认为它对结对编程的影响比对单独程序员的影响更大。如果我一个人,我可以做其他事情,但是如果我是结对编程呢?你会怎么处理?

4

8 回答 8

4

如果你可以一个人做其他事情,为什么不结对呢?也许更简单的行动项目可以在等待时从问题列表中删除?3 分钟的等待对我来说太长了,无法让大脑保持“流动模式”。所以无论如何都会被打乱(和你的伴侣一样),你不能和你的伴侣做点别的吗?

但是,在您的情况下,我不会在任何更改后暂停 3 分钟的环境中工作。所以问题是:您不能在较小的环境中开发和调试该代码,将其烤到完美,然后将这些部分重新集成到主流中吗?

于 2009-01-12T22:40:30.683 回答
3

您的里程可能会有所不同,但我认为对任何不是主要功能的东西进行结对编程是浪费至少一个程序员的时间

于 2009-01-12T22:10:16.063 回答
2

结对编程应仅应用于开发的研究/POC/创新部分。简单的任务应该委托给单个程序员。

当您必须等待您的伴侣完成琐碎但耗时的任务时,这不仅是浪费时间的问题。还有一个人为因素 -在等待时会感到无聊。请记住,高效的开发人员需要不断地被激励——等待你的合作伙伴完成会降低你的士气。

于 2009-03-21T14:13:04.193 回答
1

性能工作,你必须运行几分钟来收集统计数据,是不适合 XP 的东西。有充分的理由让两人开始勾勒出一些想法,然后单独进行以避免每三分钟的表演浪费两个人的时间,然后在签到之前再次联合起来审查工作。

于 2009-05-17T23:24:41.647 回答
1

您可能应该考虑重构该过程。三分钟获得反馈对于配对和单独编码来说都太多了。不得不不断地换档会扼杀你的生产力。您可能只是在配对时感觉更多。

于 2009-01-12T22:13:16.057 回答
0

达到峰值的时间必须内置,而不是添加。团队应该有一套可以在类似生产环境中频繁(每天)运行的自动化测试。此外,团队应该持续运行分析器。如果你都没有,那么现在就停止生产线并完成它吧!!!

如果团队发现自己处于性能问题的境地,则需要识别技术债务并创建一组故事卡来解决债务问题。它将包括一组自动化性能测试、一组分析器测试。每天对测试结果进行分析是必须的。如果出现性能问题,则可以调用架构或设计尖峰。

如果一个团队从一开始就没有持续进行性能测试,那么您可能需要解决大量的技术债务。应用程序运行后,您需要每天继续运行自动化测试,以便了解是否以及何时出现问题。然后,您最好识别对应用程序的违规更改。

通过运行自动化性能测试,您可以让测试运行一段时间,通常是几个小时。结果可以稍后进行分析,它使开发人员可以在其他故事卡上进行工作,而无需等待大量个人性能测试的结果。

等待是一个障碍。通过自动化测试消除等待。

于 2009-05-17T23:04:23.143 回答
0

结对编程与否无关紧要。即使您一个人编码,3 分钟也无法获得有关代码更改的反馈。我会分析和分解项目,以便我可以专注于较小的部分。从这个意义上说,XP 实际上是在帮助(迫使)您在为时已晚之前改进设计。

于 2009-05-17T23:22:22.540 回答
0

我会分头完成这些任务。你们俩分别处理代码,并在进行改进后每隔一段时间(30 分钟左右?)重新组合。

于 2009-05-17T23:29:35.143 回答